Files
Movses AslanyanandClaude Opus 5.5 7719ef5fcf Port the observability platform to k3s and ship czy logs to it
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>
2026-10-12 13:24:38 +03:30

2.2 KiB

Phase 11 — Package the delivery

Part of docs/roadmap/ — see intro.md for platform/background context and summary.md for how every phase fits together. Prev: phase-10.md · Next: 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.