Document the dashboards, alerts and local stack
Problem
The dashboards, alert rules and render pipeline are only useful if consumers can find them, render them for their operator, understand what each alert means and how to tune it, and know to align the recorder's controller name with controller-runtime's. None of that is documented yet.
Approach
- New
docs/observability.md: what ships (per-operator vs shared rule files, templated dashboard uids), render commands and variables, the namespace label, matching metrics.NewRecorder's controller name to the controller-runtime controller name, every alert with its threshold and tuning notes, both dashboards and the stale-series join, and how to run the local stack. Text only; screenshots are a manual follow-up.
- Add the page to
mkdocs.yml (Guides, next to Testing), docs/index.md, the README documentation table, the reference lists and documentation table in .ai/base.md (regenerated instructions), and the plugin sync so the building-components skill references carry it and its description routes observability questions to it.
docs/component.md Metrics section links to the new page and its controller-name example aligns with controller-runtime naming; the pkg/metrics GoDoc states the same rule; the e2e suites' recorder names follow it.
Verification
make lint-md and make docs-build pass; the page appears in the site navigation.
make sync-plugin and make ai-instructions leave the working tree clean after the commits.
- Every metric name, label, make target, variable, uid and alert name in the page exists in the source.
Context
Sub-issue of #183.
Document the dashboards, alerts and local stack
Problem
The dashboards, alert rules and render pipeline are only useful if consumers can find them, render them for their operator, understand what each alert means and how to tune it, and know to align the recorder's controller name with controller-runtime's. None of that is documented yet.
Approach
docs/observability.md: what ships (per-operator vs shared rule files, templated dashboard uids), render commands and variables, the namespace label, matchingmetrics.NewRecorder's controller name to the controller-runtime controller name, every alert with its threshold and tuning notes, both dashboards and the stale-series join, and how to run the local stack. Text only; screenshots are a manual follow-up.mkdocs.yml(Guides, next to Testing),docs/index.md, the README documentation table, the reference lists and documentation table in.ai/base.md(regenerated instructions), and the plugin sync so thebuilding-componentsskill references carry it and its description routes observability questions to it.docs/component.mdMetrics section links to the new page and its controller-name example aligns with controller-runtime naming; thepkg/metricsGoDoc states the same rule; the e2e suites' recorder names follow it.Verification
make lint-mdandmake docs-buildpass; the page appears in the site navigation.make sync-pluginandmake ai-instructionsleave the working tree clean after the commits.Context
Sub-issue of #183.