Releases: grafana/grafana-app-sdk
v0.28.0
What Changed
This version includes a CUE upgrade, which adds some additional requirements to your cue.mod/module.cue
file.
Your CUE module is now required to be domain-qualified, so a module like foo/kinds
must be changed to github.com/example/foo/kinds
or foo.grafana.app/kinds
(or similar).
By default, new projects created with grafana-app-sdk project init
without a domain in their go module will use <module name>.grafana.app
as their domain.
Additionally, the cue.mod/module.cue
file must contain a language: version
section, specifying the CUE language version to use when parsing. New projects will now use language: version: "v0.8.2"
by default.
Operator New Methods
Some New
functions in the operator
package have been simplified to single NewX
functions with options objects.
If you use simple.App
or simple.Operator
, you shouldn't need to make any changes, but if you are building a custom operator, this will apply to you.
NewKubernetesBasedInformer
andNewKubernetesBasedInformerWithFilters
have been reduced to justNewKubernetesBasedInformer(resource.Kind, ListWatchClient, KubernetesBasedInformerOptions)
NewMemcachedInformer
andNewMemcachedInformerWithFilters
have been reduced to justNewMemcachedInformer(resource.Kind, ListWatchClient, MemcachedInformerOptions)
Changelog
- 02062c6 Added migration doc for v0.27.0 (#529)
- 5f035d3 Bump github.com/grafana/cog from 0.0.5 to 0.0.6 in the all group (#519)
- 40e53b1 Bump github.com/grafana/cog from 0.0.6 to 0.0.7 in the all group (#536)
- e328920 Bump github.com/grafana/grafana-app-sdk from 0.25.2 to 0.27.0 in /plugin in the all group across 1 directory (#530)
- a5ddfc5 Bump golang.org/x/sync from 0.9.0 to 0.10.0 in the all group (#533)
- 48cec8f Bump google.golang.org/grpc from 1.68.0 to 1.68.1 in the all group across 1 directory (#531)
- 6162a7b Bump the all group in /plugin with 2 updates (#547)
- a87f4d4 Bump the all group in /plugin with 3 updates (#539)
- c4ad46e Bump the all group with 5 updates (#542)
- 1cde3c9 Bump the all group with 8 updates (#545)
- 05e9e38 Upgrade Go to 1.23.4 and linter to 1.62.2 (#535)
- 9c28e5d [codegen] Propagate ExtraPermissions into generated manifest data (#543)
- fbb7327 [docs] App Manifest Doc & Writing Kinds Doc Update (#532)
- 5f3f96a [k8s] Update KindNegotiatedSerializer to handle v1/Status objects, add logging (#537)
- 7ed1693 [operator] Allow Informers to be dynamically added and removed from InformerController (#521)
- 389e0f7 [operator] Clean up New functions (#538)
- 6cabe27 [tests] Improve InformerController tests to rely less on timing (#534)
- 37a344c chore: fixes a few nits in tutorial (#544)
v0.24.4
v0.27.0
Changes in this Release
This version contains a change to how kinds are written in CUE for use with the CLI commands (generate
,project
).
Instead of every top-level selector in the loaded CUE environment being treated as a kind, the CUE environment should have a singular manifest which contains app information and a list of kinds to use for the app. The grafana-app-sdk will look for the selector manifest
by default to load this manifest, but this can be changed with the --selectors
flag.
The CUE structure of a kind has also been changed slightly: fields that were previously in apiResource
are now in the root structure of the kind, and group
has been removed, as it gets inherited from the manifest (all kinds in a manifest must be in the same group).
A simple version of a manifest looks like:
manifest: {
appName: "myapp" // app name is used to determine group
kinds: [mykind1, mykind2] // list of kind selectors
}
If you currently are using a custom group name via apiResource.groupOverride
, you can still use groupOverride
in the manifest instead, and the value will be propagated to the kind.
You can also look at the diff for the test kind CUE between v0.26.0 and v0.27.0
as a reference for these changes.
Projects generated with CLI version v0.27.0 or greater will create a manifest on init, and add kinds to the manifest with grafana-app-sdk project kind add <kind>
.
Changelog
v0.24.3
Changelog
- 1beac10 Bump github.com/grafana/grafana-plugin-sdk-go from 0.259.4 to 0.260.0 in /plugin in the all group (#513)
- bbb501e Bump github.com/grafana/grafana-plugin-sdk-go from 0.260.0 to 0.260.1 in /plugin in the all group (#516)
- 0aa9ef2 Bump github.com/matryer/moq from 0.5.0 to 0.5.1 in the all group (#501)
- e2ddd32 Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 in the all group (#509)
- e08a996 Bump the all group in /plugin with 2 updates (#510)
- bbd0371 Teach go codegen to emit yaml struct tags (#504)
- 9448bf8 [LTS v0.24] Format kind JSON the same way the manifest is formatted (#487)
- b93f075 [LTS v0.24][OpinionatedWatcher/Reconciler] Patch Against the Preferred Version (#520)
v0.26.0
Changelog
- 128ded4 Add Grafana App Platform as CODEOWNERS (#512)
- 1ccee9a Bump github.com/grafana/grafana-plugin-sdk-go from 0.259.4 to 0.260.0 in /plugin in the all group (#514)
- 57fa913 Bump github.com/grafana/grafana-plugin-sdk-go from 0.260.0 to 0.260.1 in /plugin in the all group (#517)
- ff37ea9 Bump github.com/matryer/moq from 0.5.0 to 0.5.1 in the all group (#500)
- e31916a Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 in /plugin in the all group (#507)
- 1dda5bb Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 in the all group (#508)
- 3bce515 Bump the all group across 1 directory with 2 updates (#503)
- 47cc58b Expose GF_INSTALL_PLUGINS via config (#518)
- e9618ed Teach go codegen to emit yaml struct tags (#505)
- 2b5eb53 Use cog to generate Go and TS types (#485)
- 5562d49 [CLI][codegen] Use
yarn create @grafana/plugin
to Generate Front-End Code (#491) - afa5519 [OpinionatedWatcher/Reconciler] Patch Against the Preferred Version (#511)
- 4184b2b [codegen] Add Webhook Conversion Strategy to Generated CRDs (#481)
- b07ad45 [local env] Use a generated remote_services_file for grafana CRD aggregation (#502)
- b9faedf [operator] Use contexts instead of channels for Run methods (#484)
v0.25.2
Changelog
- dc29792 Bump github.com/grafana/grafana-app-sdk from 0.25.0 to 0.25.1 in /plugin in the all group (#482)
- cf7bcb6 Bump github.com/grafana/grafana-plugin-sdk-go from 0.259.2 to 0.259.3 in /plugin in the all group (#490)
- 41a220c Bump the all group in /plugin with 2 updates (#497)
- b3b3eaf Bump the all group with 4 updates (#496)
v0.24.2
v0.25.1
v0.24.1
Changelog
- 3fad8df Add LTS workflows, downgrade CUE (#465)
- 4d7ca84 Bump github.com/grafana/grafana-plugin-sdk-go from 0.258.0 to 0.259.1 in /plugin in the all group across 1 directory (#464)
- 0f4410f Bump google.golang.org/grpc from 1.67.1 to 1.68.0 in the all group (#467)
- 1c5d220 Bump the all group across 1 directory with 3 updates (#477)
- d686668 Bump the all group across 1 directory with 7 updates (#475)
- 45bab39 Bump the cue group with 2 updates (#451)
- bfc519b [LTS v0.24][webhooks] Support Version Distinction in Admission Control (#479)
v0.25.0
Changelog
- 46b5763 Add LTS branch build workflow and have tests run on PR's to LTS branch (#452)
- 16c50d1 Add dependabot entries for the lts/v0.24 branch. (#450)
- 7bb2373 Bump github.com/grafana/grafana-app-sdk from 0.23.1 to 0.24.0 in /plugin in the all group (#449)
- 0dc4bed Bump github.com/grafana/grafana-plugin-sdk-go from 0.258.0 to 0.259.0 in /plugin in the all group (#459)
- 8c81201 Bump github.com/grafana/grafana-plugin-sdk-go from 0.259.0 to 0.259.1 in /plugin in the all group (#463)
- 5fba05b Use full branch name for LTS branch, without a wildcard. (#462)
- c919bc4 [codegen] Remove Thema Support (#447)