Phase 09: CI Pipeline Hardening - 4 plan(s) in 3 wave(s) - Wave 1: Infrastructure setup (09-01) - Wave 2: Tests in parallel (09-02, 09-03) - Wave 3: CI integration (09-04) - Ready for execution Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
143 lines
6.0 KiB
Markdown
143 lines
6.0 KiB
Markdown
# Roadmap: TaskPlanner
|
|
|
|
## Milestones
|
|
|
|
- ✅ **v1.0 MVP** - Phases 1-6 (shipped 2026-02-01)
|
|
- 🚧 **v2.0 Production Operations** - Phases 7-9 (in progress)
|
|
|
|
## Overview
|
|
|
|
TaskPlanner delivers personal task and notes management with image attachments, accessible from any device via web browser. v1.0 established core functionality. v2.0 adds production-grade operations: GitOps deployment automation via ArgoCD, comprehensive observability via Prometheus/Grafana/Loki, and CI pipeline hardening with automated testing.
|
|
|
|
## Phases
|
|
|
|
**Phase Numbering:**
|
|
- Integer phases (1, 2, 3): Planned milestone work
|
|
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)
|
|
|
|
Decimal phases appear between their surrounding integers in numeric order.
|
|
|
|
<details>
|
|
<summary>v1.0 MVP (Phases 1-6) - SHIPPED 2026-02-01</summary>
|
|
|
|
- [x] **Phase 1: Foundation** - Data model, repository layer, and project structure
|
|
- [x] **Phase 2: Core CRUD** - Entry management, quick capture, and responsive UI
|
|
- [x] **Phase 3: Images** - Image attachments with mobile camera support
|
|
- [x] **Phase 4: Tags & Organization** - Tagging system with pinning and due dates
|
|
- [x] **Phase 5: Search** - Full-text search and filtering
|
|
- [x] **Phase 6: Deployment** - Docker containerization and production configuration
|
|
|
|
### Phase 1: Foundation
|
|
**Goal**: Data persistence and project structure are ready for feature development
|
|
**Plans**: 2/2 complete
|
|
|
|
### Phase 2: Core CRUD
|
|
**Goal**: Users can create, manage, and view entries with a responsive, accessible UI
|
|
**Plans**: 4/4 complete
|
|
|
|
### Phase 3: Images
|
|
**Goal**: Users can attach, view, and manage images on entries from any device
|
|
**Plans**: 4/4 complete
|
|
|
|
### Phase 4: Tags & Organization
|
|
**Goal**: Users can organize entries with tags and quick access features
|
|
**Plans**: 3/3 complete
|
|
|
|
### Phase 5: Search
|
|
**Goal**: Users can find entries through search and filtering
|
|
**Plans**: 3/3 complete
|
|
|
|
### Phase 6: Deployment
|
|
**Goal**: Application runs in Docker with persistent data and easy configuration
|
|
**Plans**: 2/2 complete
|
|
|
|
</details>
|
|
|
|
### 🚧 v2.0 Production Operations (In Progress)
|
|
|
|
**Milestone Goal:** Production-grade operations with GitOps deployment, observability stack, and CI test pipeline
|
|
|
|
- [x] **Phase 7: GitOps Foundation** - ArgoCD deployment automation with Git as source of truth ✓
|
|
- [ ] **Phase 8: Observability Stack** - Metrics, dashboards, logs, and alerting
|
|
- [ ] **Phase 9: CI Pipeline Hardening** - Automated testing before build
|
|
|
|
## Phase Details
|
|
|
|
### Phase 7: GitOps Foundation
|
|
**Goal**: Deployments are fully automated via Git - push triggers deploy, manual changes self-heal
|
|
**Depends on**: Phase 6 (running deployment)
|
|
**Requirements**: GITOPS-01, GITOPS-02, GITOPS-03, GITOPS-04
|
|
**Success Criteria** (what must be TRUE):
|
|
1. ArgoCD server is running and accessible at argocd.tricnet.be
|
|
2. TaskPlanner Application shows "Synced" status in ArgoCD UI
|
|
3. Pushing a change to helm/taskplaner/values.yaml triggers automatic deployment within 3 minutes
|
|
4. Manually deleting a pod results in ArgoCD restoring it to match Git state
|
|
5. ArgoCD UI shows deployment history with sync status for each revision
|
|
**Plans**: 2 plans
|
|
|
|
Plans:
|
|
- [x] 07-01-PLAN.md — Register TaskPlanner Application with ArgoCD
|
|
- [x] 07-02-PLAN.md — Verify auto-sync and self-heal behavior
|
|
|
|
### Phase 8: Observability Stack
|
|
**Goal**: Full visibility into cluster and application health via metrics, logs, and dashboards
|
|
**Depends on**: Phase 7 (ArgoCD can deploy observability stack)
|
|
**Requirements**: OBS-01, OBS-02, OBS-03, OBS-04, OBS-05, OBS-06, OBS-07, OBS-08
|
|
**Success Criteria** (what must be TRUE):
|
|
1. Grafana is accessible at grafana.tricnet.be with pre-built Kubernetes dashboards
|
|
2. Prometheus scrapes metrics from TaskPlanner, Traefik, and k3s nodes
|
|
3. Logs from all pods are queryable in Grafana Explore via Loki
|
|
4. Alert fires when a pod crashes or restarts repeatedly (KubePodCrashLooping)
|
|
5. TaskPlanner /metrics endpoint returns Prometheus-format metrics
|
|
**Plans**: 3 plans
|
|
|
|
Plans:
|
|
- [ ] 08-01-PLAN.md — TaskPlanner /metrics endpoint and ServiceMonitor
|
|
- [ ] 08-02-PLAN.md — Promtail to Alloy migration for log collection
|
|
- [ ] 08-03-PLAN.md — End-to-end observability verification
|
|
|
|
### Phase 9: CI Pipeline Hardening
|
|
**Goal**: Tests run before build - type errors and test failures block deployment
|
|
**Depends on**: Phase 8 (observability shows test/build failures)
|
|
**Requirements**: CI-01, CI-02, CI-03, CI-04, CI-05
|
|
**Success Criteria** (what must be TRUE):
|
|
1. `npm run test:unit` runs Vitest and reports pass/fail
|
|
2. `npm run check` runs svelte-check and catches type errors
|
|
3. Pipeline fails before Docker build when unit tests fail
|
|
4. Pipeline fails before Docker build when type checking fails
|
|
5. E2E tests run in pipeline using Playwright Docker image
|
|
**Plans**: 4 plans
|
|
|
|
Plans:
|
|
- [ ] 09-01-PLAN.md — Test infrastructure setup (Vitest + browser mode)
|
|
- [ ] 09-02-PLAN.md — Unit and component test suite with coverage
|
|
- [ ] 09-03-PLAN.md — E2E test suite with database fixtures
|
|
- [ ] 09-04-PLAN.md — CI pipeline integration with fail-fast behavior
|
|
|
|
## Progress
|
|
|
|
**Execution Order:**
|
|
Phases execute in numeric order: 7 -> 8 -> 9
|
|
|
|
| Phase | Milestone | Plans Complete | Status | Completed |
|
|
|-------|-----------|----------------|--------|-----------|
|
|
| 1. Foundation | v1.0 | 2/2 | Complete | 2026-01-29 |
|
|
| 2. Core CRUD | v1.0 | 4/4 | Complete | 2026-01-29 |
|
|
| 3. Images | v1.0 | 4/4 | Complete | 2026-01-31 |
|
|
| 4. Tags & Organization | v1.0 | 3/3 | Complete | 2026-01-31 |
|
|
| 5. Search | v1.0 | 3/3 | Complete | 2026-01-31 |
|
|
| 6. Deployment | v1.0 | 2/2 | Complete | 2026-02-01 |
|
|
| 7. GitOps Foundation | v2.0 | 2/2 | Complete ✓ | 2026-02-03 |
|
|
| 8. Observability Stack | v2.0 | 0/3 | Planned | - |
|
|
| 9. CI Pipeline Hardening | v2.0 | 0/4 | Planned | - |
|
|
|
|
---
|
|
*Roadmap created: 2026-01-29*
|
|
*v2.0 phases added: 2026-02-03*
|
|
*Phase 7 planned: 2026-02-03*
|
|
*Phase 8 planned: 2026-02-03*
|
|
*Phase 9 planned: 2026-02-03*
|
|
*Depth: standard*
|
|
*v1.0 Coverage: 31/31 requirements mapped*
|
|
*v2.0 Coverage: 17/17 requirements mapped*
|