k8s/ is now a faithful port of the mentor's Ansible Grafana stack (Prometheus, Alertmanager, Loki, Tempo, Alloy, Grafana, node-exporter) for the ledgerline-observability namespace on falken: same versions and configs, one *.vione.cloud ingress per tool behind Traefik basic auth, secrets generated by create-secrets.sh into gitignored files. Two fixes over the Ansible role, both verified live: Tempo's metrics-generator needs traces_storage or it runs no processors, and Prometheus needs exemplar-storage to keep exemplars. Ledgerline stays on czy; an Alloy agent in the Traefik override ships its container logs to Loki. Roadmap and CLAUDE.md now point at k8s/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
41 lines
2.2 KiB
Markdown
41 lines
2.2 KiB
Markdown
# Phase 11 — Package the delivery
|
|
|
|
*Part of `docs/roadmap/` — see [`intro.md`](intro.md) for platform/background context and [`summary.md`](summary.md) for how every phase fits together. Prev: [`phase-10.md`](phase-10.md) · Next: [`summary.md`](summary.md)*
|
|
|
|
**Status:** Not started
|
|
|
|
**Message:** Depends on every prior phase being done — this is the wrap-up,
|
|
not independent work.
|
|
|
|
**Time-box:** one evening.
|
|
|
|
Babak gave you a task; deliver it like an engineer, not like a student.
|
|
|
|
1. **`README.md`** — architecture diagram, one-command start, what each container is
|
|
for, and a "here's the demo" script.
|
|
2. **The five-minute demo path**, rehearsed:
|
|
- Delete every dashboard in the Grafana UI (or the whole namespace), then
|
|
`kubectl apply -k k8s/` — the whole platform and every dashboard rebuilt
|
|
from code, one command.
|
|
- Submit one transaction from the frontend, then follow it through Grafana: RED
|
|
dashboard → latency spike → exemplar → trace → span → logs for that span → back
|
|
to the trace. One request, all three signals, no searching.
|
|
- `make chaos-nightmare && make load-stress` — watch the SLO burn, the alert fire,
|
|
and the service map turn red at a specific node.
|
|
- Show `docs/INVESTIGATION.md` and how you found the pathologies.
|
|
3. **The written answers** Babak asked for, as documents in the repo, not as a
|
|
conversation: `docs/SLO.md`, `docs/PIPELINE-CHOICES.md`,
|
|
`docs/INVESTIGATION.md`, plus a short `docs/CONCEPTS.md` covering P95/P99,
|
|
RTO/RPO/SLA/SLO/error budget in your own words.
|
|
4. **The test suite as part of the story.** Show `make test` green, then show the
|
|
three generations of the call-counting assertion side by side —
|
|
`docker logs | grep`, then LogQL, then TraceQL — as concrete evidence of what
|
|
each signal bought you. Most people demo dashboards; almost nobody can show
|
|
their observability work paying off inside their own test suite.
|
|
5. **A "what I'd do differently in production" section.** Tail sampling instead of
|
|
100%; Mimir instead of raw Prometheus for retention; Alloy as a DaemonSet;
|
|
log volume budgeting; PII redaction in the Collector; multi-tenancy. Naming what
|
|
you *didn't* do, and why, is the strongest signal of seniority in the whole
|
|
delivery.
|
|
|