Schemas: Add description to kinds metadata (#62638)

* add description to kinds

* omit empty
This commit is contained in:
Ryan McKinley 2023-01-31 14:54:22 -08:00 committed by GitHub
parent 03f3fbec0d
commit 0f0a53fbbb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 40 additions and 14 deletions

View File

@ -2,8 +2,9 @@ package kind
import "strings"
name: "Dashboard"
maturity: "experimental"
name: "Dashboard"
maturity: "experimental"
description: "A Grafana dashboard."
lineage: seqs: [
{

View File

@ -2,8 +2,9 @@ package kind
import "strings"
name: "LibraryPanel"
maturity: "experimental"
name: "LibraryPanel"
maturity: "experimental"
description: "A standalone panel"
lineage: seqs: [
{

View File

@ -1,7 +1,8 @@
package kind
name: "Playlist"
maturity: "merged"
name: "Playlist"
maturity: "merged"
description: "A playlist is a series of dashboards that is automatically rotated in the browser, on a configurable interval."
lineage: seqs: [
{

View File

@ -1,7 +1,8 @@
package kind
name: "Preferences"
maturity: "merged"
name: "Preferences"
maturity: "merged"
description: "The user or team frontend preferences"
lineage: seqs: [
{

View File

@ -1,7 +1,8 @@
package kind
name: "PublicDashboard"
maturity: "merged"
name: "PublicDashboard"
maturity: "merged"
description: "Public dashboard configuration"
lineage: seqs: [
{

View File

@ -1,7 +1,8 @@
package kind
name: "ServiceAccount"
maturity: "merged"
name: "ServiceAccount"
maturity: "merged"
description: "system account"
lineage: seqs: [
{

View File

@ -1,7 +1,8 @@
package kind
name: "Team"
maturity: "merged"
name: "Team"
maturity: "merged"
description: "A team is a named grouping of Grafana users to which access control rules may be assigned."
lineage: seqs: [
{

View File

@ -79,6 +79,14 @@ _sharedKind: {
maturity: *"merged" | "experimental"
}
// properties shared by all kinds that represent a complete object from root (i.e., not composable)
_rootKind: {
// description is a brief narrative description of the nature and purpose of the kind.
// The contents of this field is shown to end users. Prefer clear, concise wording
// with minimal jargon.
description: nonEmptyString
}
// Maturity indicates the how far a given kind definition is in its initial
// journey. Mature kinds still evolve, but with guarantees about compatibility.
Maturity: "merged" | "experimental" | "stable" | "mature"
@ -88,7 +96,10 @@ Maturity: "merged" | "experimental" | "stable" | "mature"
// and datasources, are represented as core kinds.
Core: S=close({
_sharedKind
_rootKind
lineage: { name: S.machineName }
lineageIsGroup: false
})
nonEmptyString: string & strings.MinRunes(1)

View File

@ -10,6 +10,7 @@ type CommonProperties struct {
PluralMachineName string `json:"pluralMachineName"`
LineageIsGroup bool `json:"lineageIsGroup"`
Maturity Maturity `json:"maturity"`
Description string `json:"description,omitempty"`
}
// CoreProperties represents the static properties in the definition of a

View File

@ -283,6 +283,7 @@
0,
0
],
"description": "A Grafana dashboard.",
"grafanaMaturityCount": 139,
"lineageIsGroup": false,
"links": {
@ -819,6 +820,7 @@
0,
0
],
"description": "A standalone panel",
"grafanaMaturityCount": 10,
"lineageIsGroup": false,
"links": {
@ -1181,6 +1183,7 @@
0,
0
],
"description": "A playlist is a series of dashboards that is automatically rotated in the browser, on a configurable interval.",
"grafanaMaturityCount": 0,
"lineageIsGroup": false,
"links": {
@ -1251,6 +1254,7 @@
0,
0
],
"description": "The user or team frontend preferences",
"grafanaMaturityCount": 0,
"lineageIsGroup": false,
"links": {
@ -1321,6 +1325,7 @@
0,
0
],
"description": "Public dashboard configuration",
"grafanaMaturityCount": 0,
"lineageIsGroup": false,
"links": {
@ -1389,6 +1394,7 @@
0,
0
],
"description": "system account",
"grafanaMaturityCount": 9,
"lineageIsGroup": false,
"links": {
@ -1509,6 +1515,7 @@
0,
0
],
"description": "A team is a named grouping of Grafana users to which access control rules may be assigned.",
"grafanaMaturityCount": 7,
"lineageIsGroup": false,
"links": {