Skip to content

Releases: grafana/grafana-app-sdk

v0.28.0

13 Dec 14:24
1cde3c9
Compare
Choose a tag to compare

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 and NewKubernetesBasedInformerWithFilters have been reduced to just NewKubernetesBasedInformer(resource.Kind, ListWatchClient, KubernetesBasedInformerOptions)
  • NewMemcachedInformer and NewMemcachedInformerWithFilters have been reduced to just NewMemcachedInformer(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

13 Dec 14:11
2d8aed7
Compare
Choose a tag to compare

Changelog

  • 093060d Bump the all group across 1 directory with 3 updates (#528)
  • 2d8aed7 Bump the all group in /plugin with 2 updates (#548)
  • 545d852 Bump the all group in /plugin with 3 updates (#540)
  • 0ddb5ec Bump the all group with 4 updates (#541)
  • 154e4de Bump the all group with 7 updates (#546)

v0.27.0

06 Dec 14:31
69d129d
Compare
Choose a tag to compare

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

  • 69d129d [App Manifest + Docs] Tutorial Doc Update for New Manifest, Associated Fixes (#525)
  • a9d2b24 [codegen] Source Codegen from CUE App Manifest (#483)

v0.24.3

06 Dec 14:22
b93f075
Compare
Choose a tag to compare

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

04 Dec 19:11
afa5519
Compare
Choose a tag to compare

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

22 Nov 14:39
b3b3eaf
Compare
Choose a tag to compare

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

22 Nov 14:32
9d05829
Compare
Choose a tag to compare

Changelog

  • 5320a16 Bump github.com/grafana/grafana-plugin-sdk-go from 0.259.2 to 0.259.3 in /plugin in the all group (#492)
  • b0f3a79 Bump the all group in /plugin with 2 updates (#495)
  • 9d05829 Bump the all group with 4 updates (#498)

v0.25.1

15 Nov 15:39
b4c6011
Compare
Choose a tag to compare

Changelog

  • b4c6011 Allow project local generate to work with no kinds defined (#461)
  • 3b2e581 Bump the all group across 1 directory with 4 updates (#476)
  • a97318d Bump the all group across 1 directory with 8 updates (#474)
  • 5566e6f [webhooks] Support Version Distinction in Admission Control (#478)

v0.24.1

15 Nov 15:33
1c5d220
Compare
Choose a tag to compare

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

08 Nov 14:12
5fba05b
Compare
Choose a tag to compare

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)