Skip to content

Commit

Permalink
Docs: Add Schema maturity docs (grafana#61963)
Browse files Browse the repository at this point in the history
* Docs: Add Schema maturity docs

* Remove 'which category' section from maturity.md

Co-authored-by: sam boyer <[email protected]>

* Remove Maturity process guides from maturity.md

Co-authored-by: sam boyer <[email protected]>

* Remove Defaults and Field optionality from maturity.md

Co-authored-by: sam boyer <[email protected]>

* Remove MaybeRemove section from maturity.md

Co-authored-by: sam boyer <[email protected]>

* Remove Milestone 3 and 4 from maturity.md

Co-authored-by: sam boyer <[email protected]>

* Rearrange schema maturity docs

* Regenerate schema docs after merge with main

* Update Maturity docs headers, keep single h1

* Update wording in Schema docs

Co-authored-by: Tania <[email protected]>

* Regenerate docs after merge with main

---------

Co-authored-by: sam boyer <[email protected]>
Co-authored-by: Tania <[email protected]>
  • Loading branch information
3 people authored Feb 7, 2023
1 parent 121260e commit 0fcc864
Show file tree
Hide file tree
Showing 33 changed files with 345 additions and 32 deletions.
23 changes: 22 additions & 1 deletion docs/sources/developers/kinds/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,25 @@ _build:

# Grafana schema

{{< section >}}
> Grafana’s schemas, kind system and related code generation are in active development.
Grafana is moving to a schema-centric model of development, where schemas are the single source of truth that specify
the shape of objects - for example, dashboards, datasources, users - in the frontend, backend, and plugin code.
Eventually, all of Grafana’s object types will be schematized within the “Kind System.” Kinds, their schemas, the Kind
system rules, and associated code generators will collectively provide a clear, consistent foundation for Grafana’s
APIs, documentation, persistent storage, clients, as-code tooling, and so forth.

It’s exciting to imagine the possibilities that a crisp, consistent development workflow will enable - this is why
companies build [developer platforms](https://internaldeveloperplatform.org/)! At the same time, it’s also
overwhelming - any schema system that can meet Grafana’s complex requirements will necessarily have a lot of moving
parts. Additionally, we must account for having Grafana continue to work as we make the transition - a prerequisite
for every large-scale refactoring.

In the Grafana ecosystem, there are three basic Kind categories and associated schema categories:
- [Core Kinds]({{< relref "core/" >}})
- Custom Kinds
- [Composable Kinds]({{< relref "composable/" >}})

The schema authoring workflow for each varies, as does the path to maturity.
[Grafana Kinds - From Zero to Maturity]({{< relref "maturity/" >}}) contains general reference material applicable to
all Kind-writing, and links to the guides for each category of Kind.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: AlertGroupsPanelCfg kind
## AlertGroupsPanelCfg

#### Maturity: merged
#### Maturity: [merged](../../../maturity/#merged)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: AnnotationsListPanelCfg kind
## AnnotationsListPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: AzureMonitorDataQuery kind
## AzureMonitorDataQuery

#### Maturity: merged
#### Maturity: [merged](../../../maturity/#merged)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: BarChartPanelCfg kind
## BarChartPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: BarGaugePanelCfg kind
## BarGaugePanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: CloudWatchDataQuery kind
## CloudWatchDataQuery

#### Maturity: merged
#### Maturity: [merged](../../../maturity/#merged)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: DashboardListPanelCfg kind
## DashboardListPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: DebugPanelCfg kind
## DebugPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: ElasticsearchDataQuery kind
## ElasticsearchDataQuery

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: GaugePanelCfg kind
## GaugePanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: HistogramPanelCfg kind
## HistogramPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: LokiDataQuery kind
## LokiDataQuery

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: NewsPanelCfg kind
## NewsPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: NodeGraphPanelCfg kind
## NodeGraphPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: PhlareDataQuery kind
## PhlareDataQuery

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: PieChartPanelCfg kind
## PieChartPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: StateTimelinePanelCfg kind
## StateTimelinePanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: StatPanelCfg kind
## StatPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: StatusHistoryPanelCfg kind
## StatusHistoryPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: TempoDataQuery kind
## TempoDataQuery

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: TestDataDataQuery kind
## TestDataDataQuery

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: TextPanelCfg kind
## TextPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: XYChartPanelCfg kind
## XYChartPanelCfg

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: Dashboard kind
## Dashboard

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0

A Grafana dashboard.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: LibraryPanel kind
## LibraryPanel

#### Maturity: experimental
#### Maturity: [experimental](../../../maturity/#experimental)
#### Version: 0.0

A standalone panel
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: Playlist kind
## Playlist

#### Maturity: merged
#### Maturity: [merged](../../../maturity/#merged)
#### Version: 0.0

A playlist is a series of dashboards that is automatically rotated in the browser, on a configurable interval.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: Preferences kind
## Preferences

#### Maturity: merged
#### Maturity: [merged](../../../maturity/#merged)
#### Version: 0.0

The user or team frontend preferences
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: PublicDashboard kind
## PublicDashboard

#### Maturity: merged
#### Maturity: [merged](../../../maturity/#merged)
#### Version: 0.0

Public dashboard configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: ServiceAccount kind
## ServiceAccount

#### Maturity: merged
#### Maturity: [merged](../../../maturity/#merged)
#### Version: 0.0

system account
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ title: Team kind
## Team

#### Maturity: merged
#### Maturity: [merged](../../../maturity/#merged)
#### Version: 0.0

A team is a named grouping of Grafana users to which access control rules may be assigned.
Expand Down
Loading

0 comments on commit 0fcc864

Please sign in to comment.