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>
.