diff --git a/STATUS.md b/STATUS.md new file mode 100644 index 0000000..8afabdb --- /dev/null +++ b/STATUS.md @@ -0,0 +1,51 @@ +# Assignment Status + +## Practical Part + +| # | Requirement | Status | Implementation | +|---|-------------|--------|----------------| +| 1.1 | Helm chart: FleetDM Server | Done | `fleetdm-stack/` umbrella chart with Fleet subchart | +| 1.2 | Helm chart: MySQL | Done | `fleet.mysql.enabled: true` in values.yaml | +| 1.3 | Helm chart: Redis | Done | `fleet.redis.enabled: true` in values.yaml | +| 2.1 | `make cluster` | Done | Kind (default) or Minikube with ingress-nginx | +| 2.2 | `make install` | Done | `helm upgrade --install` with dep update + TLS cert gen | +| 2.3 | `make uninstall` | Done | `helm uninstall` + namespace cleanup | +| 3.1 | README: install & teardown | Done | Quick Start, Installation, Teardown sections | +| 3.2 | README: verification steps | Done | Verification section + `make verify` target | +| 4.1 | CI pipeline for Helm releases | Done | Gitea Actions: lint on push, release on `v*` tag | +| 4.2 | Expose FleetDM UI | Done | `make port-forward` → https://localhost:8585 (+ ingress) | +| 4.3 | `fleet prepare db` on fresh install | Done | `autoApplySQLMigrations: true` in values.yaml | + +## Theoretical Part + +| # | Requirement | Status | Implementation | +|---|-------------|--------|----------------| +| T1 | 1–2 page architecture document | Done | `docs/architecture-design-company-inc.md` (7 sections) | +| T2 | High-Level Diagram (HLD) | Done | `docs/architecture-hld.md` (3 Mermaid diagrams) | +| T3 | Cloud environment structure | Done | GCP + 4 projects (prod, staging, shared, sandbox) | +| T4 | Network design (VPC, security) | Done | VPC architecture, 5 security layers, Mermaid diagram | +| T5 | Compute platform (GKE, scaling, CI/CD) | Done | GKE Autopilot, HPA, ArgoCD/Flux GitOps | +| T6 | Database (MongoDB, backups, HA, DR) | Done | MongoDB Atlas, multi-AZ, continuous backup, cross-region DR | + +## Verification + +- **Local cluster**: Kind cluster `fleetdm` running +- **Pods**: Fleet (1/1), MySQL (1/1), Redis (1/1) — all Running +- **Fleet UI**: HTTP 200 at https://localhost:8585 via `make port-forward` +- **Gitea Actions**: Lint job passing (run #5), release job correctly skipped (tag-only) +- **Helm lint**: `1 chart(s) linted, 0 chart(s) failed` + +## Key Files + +| File | Purpose | +|------|---------| +| `Makefile` | `cluster`, `install`, `uninstall`, `verify`, `port-forward`, `clean` | +| `README.md` | Full documentation | +| `fleetdm-stack/Chart.yaml` | Helm chart definition (v0.1.0) | +| `fleetdm-stack/values.yaml` | Fleet + MySQL + Redis configuration | +| `fleetdm-stack/templates/fleet-secret.yaml` | TLS certs + Fleet secret | +| `fleetdm-stack/templates/mysql-secret-alias.yaml` | Secret alias for migration job | +| `.github/workflows/release.yaml` | Gitea Actions CI/CD pipeline | +| `docs/architecture-design-company-inc.md` | Theoretical: architecture document | +| `docs/architecture-hld.md` | Theoretical: HLD Mermaid diagrams | +| `docs/verification-log.md` | Deployment verification output |