Personas
- Grafana user - clickin dem boxes in dat browser
- Plugin developer - someone writing a particular Grafana plugin, whether that plugin happens to be in core or external
- Core developer - someone working on any subsystem in Grafana core other than the kind framework itself, frontend or backend
- Kind framework developer - someone working on the kind framework - basically, what’s under pkg/kindsys
Things
- Kind Category Schema - a meta-schema specifying how a particular category of kind and its contained schemas must be declared
- Kind Schema - a declaration of a single instance of a particular kind category
- Object - actual, concrete instances of a kind schema.
| Composable Kinds | Extension Kinds | |
|---|---|---|
| Kind framework developers | Two Kind Category Schemas in pkg/kindsys: #ComposableKind, and slot definitions |
One Kind Category Schema: an #ExtensionKind in pkg/kindsys |
| Core developers | N/A | Declare Kind Schemas in kinds/extension, a new sibling to kinds/structured and kinds/raw |
| Plugin developers | Declare Kind Schemas, currently in models.cue |
Declare Objects in their plugin.json |
| Users | Create Objects, by doing stuff in the web GUI to create a core kind that incorporates a composable kind - e.g., define a new Prometheus datasource | N/A |