Skip to content

Releases: grafana/grafana-app-sdk

v0.48.4

24 Nov 16:59
v0.48.4
7f90ec8

Choose a tag to compare

Changelog

  • 892a260 Bump the all group in /plugin with 2 updates (#1114)
  • e104d3f Bump the all group with 2 updates (#1113)
  • f327cc3 [codegen] Fix empty manifest package for legacy non-manifestdata manifest go file (#1117)
  • 7f90ec8 [codegen] fix unused fmt bug (#1118)

v0.48.3

21 Nov 14:17
v0.48.3
bef342a

Choose a tag to compare

Changelog

  • 3e3ea7c Bump github.com/grafana/grafana-app-sdk/logging from 0.48.1 to 0.48.2 in the all group (#1086)
  • a56c13b Bump github.com/grafana/grafana-plugin-sdk-go from 0.281.0 to 0.282.0 in /plugin in the all group (#1102)
  • b9dcdd3 Bump github.com/grafana/grafana-plugin-sdk-go from 0.282.0 to 0.283.0 in /plugin in the all group (#1104)
  • bef342a Bump golang.org/x/crypto from 0.44.0 to 0.45.0 in /examples/apiserver (#1106)
  • 2b4868f Bump google.golang.org/grpc from 1.76.0 to 1.77.0 in the all group (#1101)
  • 6c0e3b0 Bump the all group across 1 directory with 3 updates (#1088)
  • 7117ab8 Update kube-openapi to latest and update OpenAPI jenny (#1089)
  • e956816 [AppManifest] Fix panic on ToManifestData() call on an AppManifest with no versions (#1087)
  • 56e86f2 [codegen] Use generated/manifestdata for the generated manifest go file(s) (#1100)
  • 56a33d2 [codegen] escape double quotes within cue comments for go codegen (#1099)
  • 367439c [codegen] sanitize package names prior to manifest generation (#1105)
  • 92eba8b [makefile] remove build optimizations to make binary debuggable (#1097)
  • 1e58030 [workflows] Add version comments to golangci-lint and goreleaser commit hashes (#1093)
  • a03a397 chore(deps): update actions/create-github-app-token action to v2 (#1065)
  • 948ebcd fix(deps): update module github.com/grafana/grafana-app-sdk to v0.48.2 (#1095)
  • 0121f61 fix(deps): update module github.com/grafana/grafana-app-sdk/logging to v0.48.2 (#1090)

v0.48.2

14 Nov 14:17
v0.48.2
37d98ca

Choose a tag to compare

Changelog

  • b73698c Add EventTimeout option and use contextual ListerWatcher methods (#901)
  • 0cb8c8e Add benchmarks for informer suppliers (#1067)
  • f308715 Bump github.com/grafana/cog from 0.0.45 to 0.0.46 in the all group (#1069)
  • 4c8ef8b Bump golang.org/x/sync from 0.17.0 to 0.18.0 in the all group (#1078)
  • 33661f3 Bump the all group with 2 updates (#1042)
  • 37d98ca Bump the all group with 6 updates (#1081)
  • 9e2a727 Fix handling of Watch and Status objects in GenericJSONDecoder (#1070)
  • 460d70f Fix missing watch metrics for KubernetesWatch() code path (#1030)
  • c5106b4 [APIServer] Enabled Selectable Fields in APIServer (#1014)
  • 5e6aed1 [codegen] [Issue #884] fix codegen for projects without a plugin (#1073)
  • ee7aca0 [codegen] make generated Selectable Fields with Pointers safe (#1044)
  • e4cafd0 [docs] add .md suffix to contributing documentation (#1047)
  • f8df2e5 [k8s] k8s.DefaultClientConfig to set the kube config APIPath to /apis or /api if unset (#1077)
  • c80c3f7 [makefile] add a make debug target for debugging (#1075)
  • 2004232 add a PR template (#1076)
  • 8a7f117 chore(deps): pin dependencies (#1036)
  • 39ebadc chore(deps): update actions/checkout action to v5 (#1064)
  • 1a32256 chore(deps): update actions/github-script action to v8 (#1066)
  • b17a5af chore(deps): update golangci/golangci-lint-action digest to b002b6e (#1037)
  • e470e9b chore(deps): update goreleaser/goreleaser-action digest to a08664b (#1038)
  • b36b369 chore(deps): update grafana/shared-workflows/ action to (#1039)
  • 6fa3f6b chore(deps): update grafana/shared-workflows/ action to (#1048)
  • 11a5a01 fix(deps): update module github.com/grafana/grafana-app-sdk to v0.48.1 (#1061)

v0.48.1

21 Oct 21:25
v0.48.1
f703c5b

Choose a tag to compare

Changelog

  • 102aced Add stream error handling for Kubernetes watch connections (#1029)
  • 83f1bda Bump the all group with 2 updates (#1026)
  • d70af66 Migrate golangci-lint to v2 (#1025)
  • 95b0793 Use original request method for custom routes (#1034)
  • 2e55ad7 [OpinionatedReconciler] Check for deletion before any other checks (#1022)
  • f703c5b [linter] Ignore goconst linter in two places (#1035)

v0.48.0

17 Oct 14:58
v0.48.0
4f5efe4

Choose a tag to compare

What Changed in this Release

CRD generation from the grafana-app-sdk generate command has been updated to abide by kubernetes' structural schema requirements for CRDs with respect to use of anyOf, oneOf, and allOf. CRDs generated from CUE schemas with disjunctions will now use a unified set of the disjunction schemas as the properties, and only use oneOf to clarify required (or should-not-be-present) fields. Use of anyOf for disjunctions has been replaced with oneOf, to better match the behavior of the CUE OpenAPI serializer.

An optional resource.ClientGenerator can now be passed in the simple.AppConfig to allow customizing the ClientGenerator used by the app's informers. If not provided in the config, it will continue to default to a k8s.ClientRegistry instantiated with the kubeconfig and default client config.

Changelog

  • e400c04 Bump the all group in /plugin with 2 updates (#1021)
  • 4f5efe4 [CRD Generation] Abide by Structural Schema Constrains for anyOf, allOf, and oneOf (#1018)
  • 52aae37 [codegen] Upgrade cog to v0.0.44 and regenerate golden test files (#1020)
  • b0c2bdd [simple.App] Allow Config to Supply a ClientGenerator (#1023)

v0.47.0

10 Oct 14:21
v0.47.0
727aad8

Choose a tag to compare

Changelog

  • ba76a4a Bump github.com/grafana/grafana-app-sdk/logging from 0.45.0 to 0.46.0 in the all group (#1004)
  • 40a6f7c Bump github.com/grafana/grafana-plugin-sdk-go from 0.279.0 to 0.280.0 in /plugin in the all group (#1006)
  • 9095113 Bump the all group across 1 directory with 2 updates (#1012)
  • 85b2b8f Bump the all group in /plugin with 2 updates (#1005)
  • aaffce5 K8s: Fix client list return type (#1017)
  • 1e13c9e Kind: Support GVK+GVR without pointer reciever (#1009)
  • 727aad8 [APIServer/codegen/AppManifest] Allow Referencing Types in Custom Routes (#1013)
  • cd6d759 [codegen] Default make generate to use the --crdmanifest flag (#1010)

v0.46.0

25 Sep 20:29
v0.46.0
b394bb9

Choose a tag to compare

What Changed in this Release

This release contains several bugfixes for API servers, including fixes to route naming and conversion, as well as enhancements to informer operation.

Breaking Changes

simple package changes

ErrorHandler has moved out of simple.AppInformerConfig and into the operator.InformerOptions in simple.AppInformerConfig.InformerOptions. Example fix:

cfg := simple.AppConfig{
	Name:       "myapp",
	KubeConfig: cfg.KubeConfig,
	InformerConfig: simple.AppInformerConfig{
		ErrorHandler: func(ctx context.Context, err error) {
			logging.FromContext(ctx).With("error", err).Error("Informer processing error")
		},
	},
	ManagedKinds: managedKinds,
}

to

cfg := simple.AppConfig{
	Name:       "myapp",
	KubeConfig: cfg.KubeConfig,
	InformerConfig: simple.AppInformerConfig{
		InformerOptions: operator.InformerOptions{
			ErrorHandler: func(ctx context.Context, err error) {
				logging.FromContext(ctx).With("error", err).Error("Informer processing error")
			},
		},
	},
	ManagedKinds: managedKinds,
}

simple.InformerSupplier's signature has changed, from

type InformerSupplier func(
	kind resource.Kind, clients resource.ClientGenerator, options operator.ListWatchOptions,
) (operator.Informer, error)

to

type InformerSupplier func(
	kind resource.Kind, clients resource.ClientGenerator, options operator.InformerOptions,
) (operator.Informer, error)

operator.ListWatchOptions can be found in operator.InformerOptions.ListWatchOptions, this new signature now exposes more config to be passed into the supplier.

Codegen changes

Custom route codegen now automatically produces go types which are compatible with kubernetes' runtime.Object. This also means that generated custom route responses now contain metav1.TypeMeta fields, which expose apiVersion and kind in their response data. This may break API contracts, so it can be turned off (or can be disabled for any other reason) by adding

responseMetadata: typeMeta: false

alongside your response in the custom route. See this PR for more details on configuring kubernetes response metadata.

Custom route response go type filenames have also changed from (<kind>_)<routename>_types_gen.go to (<kind>_)<routename>_response_(object|body)_types_gen.go. Regenerating code may end up with duplicate types between the file with the old name and the one with the new name. Files with the old naming scheme should be deleted.

Changelog

  • bba9b39 Add EventTimeout option and use contextual cache.ListWatch methods (#895)
  • fa67af1 Bump the all group in /plugin with 2 updates (#996)
  • 03318a5 Bump the all group with 2 updates (#995)
  • dfc817c Update cog to 0.0.41 (#998)
  • e50a1e5 [APIServer] Fix conversion handling and PreferredVersion (#1001)
  • 4f939f8 [AppManifest] Add apiVersion, kind, metadata, and spec as required fields when calling AsKubeOpenAPI (#1000)
  • b394bb9 [codegen/apiserver] Fix Custom Routes Naming (#1003)
  • 42a0d05 [codegen] Add Kubernetes Metadata to Custom Route Responses (#983)
  • 8806623 [codegen] Prefix custom route go request types (#1002)

v0.45.0

17 Sep 00:29
v0.45.0
cea8aa8

Choose a tag to compare

Changelog

  • a46542f Docs: Add additional information on opinionated reconcilers (#992)
  • cea8aa8 [simple.App] Default AppUnmanagedKinds to not using the opinionated reconcilers/watchers (#994)
  • c4efe97 [simple.App] Default to ConcurrentInformer (#993)

v0.44.0

15 Sep 20:24
v0.44.0
03bd7ab

Choose a tag to compare

Changelog

  • 7c52e92 Bump github.com/grafana/grafana-app-sdk/logging from 0.43.1 to 0.43.2 in the all group (#989)
  • 03bd7ab Bump the all group in /plugin with 2 updates (#990)
  • a6d19c7 [apiserver] Custom Resource Routes (#945)
  • ee26f97 [apiserver] Support arbitrary subresources in storage (#956)
  • ed2d9c1 [codegen] Fix Generated Kind Client Subresource Update (#991)

v0.43.2

12 Sep 15:34
v0.43.2
0f71f9d

Choose a tag to compare

Changelog

  • 2e959c1 Add health checks to the KubernetesBasedInformer (#977)
  • 0e43369 Add pprof endpoints to the metrics server (#974)
  • f427040 Bump golang.org/x/tools from 0.36.0 to 0.37.0 in the all group (#985)
  • 4f4e6bc Bump the all group across 1 directory with 2 updates (#984)
  • beff3ea Bump the all group across 1 directory with 9 updates (#980)
  • da4a9dc Function to Auto-Retry of Update Conflicts (#972)
  • a4742af Improve monitoring and healthcheck setup for operator apps (#978)
  • 9bcdafa Require and use ResourceVersion in TypedStore.UpdateSubresource (#969)
  • e9143e5 [codegen] Set storage=true on single-version CRDs (#979)
  • 0f71f9d [codegen] Upgrade cog to v0.0.40 to fix numeric exclusive OpenAPI constraints (#988)