52 lines
4.3 KiB
Markdown
52 lines
4.3 KiB
Markdown
# 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 |
|