# Requirements: TaskPlanner v2.0 **Defined:** 2026-02-03 **Core Value:** Production-grade operations — reliable deployments and visibility into system health ## v2.0 Requirements Requirements for milestone v2.0 Production Operations. Each maps to roadmap phases. ### GitOps - [x] **GITOPS-01**: ArgoCD server installed and running in cluster - [x] **GITOPS-02**: ArgoCD syncs TaskPlanner deployment from Git automatically - [x] **GITOPS-03**: ArgoCD self-heals manual changes to match Git state - [x] **GITOPS-04**: ArgoCD UI accessible via Traefik ingress with TLS ### Observability - [ ] **OBS-01**: Prometheus collects metrics from cluster and applications - [ ] **OBS-02**: Grafana displays dashboards with cluster metrics - [ ] **OBS-03**: Loki aggregates logs from all pods - [ ] **OBS-04**: Alloy DaemonSet collects pod logs and forwards to Loki - [ ] **OBS-05**: Grafana can query logs via Loki datasource - [ ] **OBS-06**: Critical alerts configured (pod crashes, disk full, app down) - [ ] **OBS-07**: Grafana UI accessible via Traefik ingress with TLS - [ ] **OBS-08**: TaskPlanner exposes /metrics endpoint for Prometheus ### CI Testing - [ ] **CI-01**: Vitest installed and configured for unit tests - [ ] **CI-02**: Unit tests run in Gitea Actions pipeline before build - [ ] **CI-03**: Type checking (svelte-check) runs in pipeline - [ ] **CI-04**: E2E tests (Playwright) run in pipeline - [ ] **CI-05**: Pipeline fails fast on test/type errors before build ## Future Requirements Deferred to later milestones. ### Observability Enhancements - **OBS-F01**: k3s control plane metrics (scheduler, controller-manager) - **OBS-F02**: Traefik ingress metrics integration - **OBS-F03**: SLO/SLI dashboards with error budgets - **OBS-F04**: Distributed tracing ### CI Enhancements - **CI-F01**: Vulnerability scanning (Trivy, npm audit) - **CI-F02**: DORA metrics tracking - **CI-F03**: Smoke tests on deploy ### GitOps Enhancements - **GITOPS-F01**: Gitea webhook integration (faster sync) ## Out of Scope Explicitly excluded — overkill for single-user personal project. | Feature | Reason | |---------|--------| | Multi-environment promotion | Single user, single environment; deploy directly to prod | | Blue-green/canary deployments | Complex rollout unnecessary for personal app | | ArgoCD high availability | HA for multi-team, not personal projects | | ELK stack | Resource-heavy; Loki is lightweight alternative | | Vault secrets management | Kubernetes secrets sufficient for personal app | | OPA policy enforcement | Single user has no policy conflicts | ## Traceability Which phases cover which requirements. Updated during roadmap creation. | Requirement | Phase | Status | |-------------|-------|--------| | GITOPS-01 | Phase 7 | Complete | | GITOPS-02 | Phase 7 | Complete | | GITOPS-03 | Phase 7 | Complete | | GITOPS-04 | Phase 7 | Complete | | OBS-01 | Phase 8 | Pending | | OBS-02 | Phase 8 | Pending | | OBS-03 | Phase 8 | Pending | | OBS-04 | Phase 8 | Pending | | OBS-05 | Phase 8 | Pending | | OBS-06 | Phase 8 | Pending | | OBS-07 | Phase 8 | Pending | | OBS-08 | Phase 8 | Pending | | CI-01 | Phase 9 | Pending | | CI-02 | Phase 9 | Pending | | CI-03 | Phase 9 | Pending | | CI-04 | Phase 9 | Pending | | CI-05 | Phase 9 | Pending | **Coverage:** - v2.0 requirements: 17 total - Mapped to phases: 17 - Unmapped: 0 --- *Requirements defined: 2026-02-03* *Last updated: 2026-02-03 — Phase 7 requirements complete*