|
|
|
@@ -1,20 +1,20 @@
|
|
|
|
|
# Company Status
|
|
|
|
|
|
|
|
|
|
_Last updated: 2026-06-03 (sprint planning cycle)_
|
|
|
|
|
_Last updated: 2026-06-06_
|
|
|
|
|
|
|
|
|
|
## APIs
|
|
|
|
|
| API | Spec | Code | Deployed | Listed on RapidAPI | Paying Users | MRR |
|
|
|
|
|
|----------------|------|------|----------|--------------------|--------------|-----|
|
|
|
|
|
| ZIP Enrichment | [~] | [~] | [ ] | [ ] | 0 | $0 |
|
|
|
|
|
| Holidays | [~] | [~] | [ ] | [ ] | 0 | $0 |
|
|
|
|
|
| Air Quality | [ ] | [ ] | [ ] | [ ] | 0 | $0 |
|
|
|
|
|
| ZIP Enrichment | [x] | [x] | [ ] | [ ] | 0 | $0 |
|
|
|
|
|
| Holidays | [x] | [x] | [ ] | [ ] | 0 | $0 |
|
|
|
|
|
| Air Quality | [x] | [x] | [ ] | [ ] | 0 | $0 |
|
|
|
|
|
| VIN Decoder | [x] | [x] | [ ] | [ ] | 0 | $0 |
|
|
|
|
|
|
|
|
|
|
Legend: [x]=done, [~]=in-progress, [ ]=not started
|
|
|
|
|
|
|
|
|
|
## Infrastructure
|
|
|
|
|
- Cluster nodes: 3 control plane (10.0.1.3, .4, .5) + workers (testing1)
|
|
|
|
|
- **Flux wiring (api-company):** Manifests staged at `flux/api-company-source/` — PENDING Talos merge (issue #2)
|
|
|
|
|
- **Flux wiring (api-company):** `flux/api-company-source/` — Fork PR #399 **MERGED** to leeworks-agents/Talos; upstream PR #14 open on 0xWheatyz/Talos — awaiting operator merge to activate Flux (issue #2)
|
|
|
|
|
- **Gitea Actions runner:** Flux manifest committed at `flux/gitea-runner/` — PENDING runner token secret + Talos wiring (issue #3)
|
|
|
|
|
- **Container registry:** Gitea built-in registry selected; docs/registry.md committed — PENDING Gitea packages enabled (issue #4)
|
|
|
|
|
- **Prometheus + Grafana:** Flux HelmRelease at `flux/monitoring/` — PENDING Flux wiring + Grafana secret (issue #7)
|
|
|
|
@@ -22,13 +22,100 @@ Legend: [x]=done, [~]=in-progress, [ ]=not started
|
|
|
|
|
- **API service manifests:** `flux/zip-enrichment/`, `flux/holidays/`, `flux/air-quality/` scaffolded (PR #48, closes #46)
|
|
|
|
|
- **Image automation:** `flux/image-automation/` — ImageRepository + ImagePolicy + ImageUpdateAutomation for all three APIs
|
|
|
|
|
- **VIN Decoder manifests:** `flux/vin-decoder/` — Flux HelmRelease + Kustomization committed (issue #140)
|
|
|
|
|
- **Alertmanager:** `flux/monitoring/helmrelease.yaml` — enabled with Slack receiver config (`gatus-slack-webhook` secret); PR #212 open (issue #210)
|
|
|
|
|
|
|
|
|
|
## Completed This Cycle (2026-06-03 — Sprint Planning Cycle)
|
|
|
|
|
## Completed This Cycle (2026-06-06 — Docs Cycle #219)
|
|
|
|
|
|
|
|
|
|
- **#182** — ROADMAP.md Phase 0 annotated with issues #178 (ESO ExternalSecret validation) and #179 (VIN Decoder Flux validation extension); Phase 4 annotated with issues #180 (holidays metrics endpoint) and #174 (VIN Decoder metrics verification).
|
|
|
|
|
- **#181** — STATUS.md updated with 2026-06-03 sprint planning cycle results (this entry). Last updated date set to 2026-06-03.
|
|
|
|
|
- **Sprint Summary:** 6 new issues created this cycle (#173, #174, #178, #179, #180, plus #181/#182 docs). 0 issues closed. 0 stale found.
|
|
|
|
|
- **Current Blockers updated:** #178 (ESO ExternalSecret sync validation) and #179 (VIN Decoder Flux validation extension) added.
|
|
|
|
|
- **#219** — STATUS.md Current Blockers updated: removed closed issues #187 and #90; replaced with open issue #218 (Operator: merge 0xWheatyz/Talos upstream PR #14 to activate Flux GitOps for api-company). Critical Path item 2 updated to reference #218. `kustomize build flux/` = PASS.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-05 — Sprint Planning Cycle #215)
|
|
|
|
|
|
|
|
|
|
- **#215** — STATUS.md updated for 2026-06-05 sprint planning cycle (this entry). Last-updated date confirmed 2026-06-05.
|
|
|
|
|
- **1 new issue created:** #214 (ROADMAP.md Phase 4 Alertmanager annotation — documentation gap filed).
|
|
|
|
|
- **0 issues closed** — no stale issues; oldest open issue is #2 from 2026-05-18 (18 days < 30-day threshold).
|
|
|
|
|
- **0 label/priority changes** — all existing labels confirmed correct.
|
|
|
|
|
- **ROADMAP cross-reference:** all unchecked items confirmed grounded in open issues; 1 new documentation gap found and filed (#214 — Alertmanager / Slack receiver missing from ROADMAP.md Phase 4).
|
|
|
|
|
- **Critical path unchanged:** Operator must (1) create `0xWheatyz/api-company` (#47), (2) merge upstream Talos PR #14 (#187) to activate Flux, (3) configure DNS (#33, #106, #150).
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions.
|
|
|
|
|
- **0 open PRs** — nothing to review or merge.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-05 — Sprint Planning Cycle #211)
|
|
|
|
|
|
|
|
|
|
- **#211** — STATUS.md updated for 2026-06-05 sprint planning cycle (this entry). Last-updated date confirmed 2026-06-05.
|
|
|
|
|
- **1 new issue implemented:** #210 (Enable Alertmanager + Slack receiver — gap identified by roadmap cross-reference); PR #212 opened to `leeworks-agents/api-company` with `kustomize build flux/` = PASS.
|
|
|
|
|
- **0 issues closed** — oldest open issue is #2 from 2026-05-18 (18 days old — under 30-day stale threshold).
|
|
|
|
|
- **0 label changes** — all priority/complexity labels confirmed correct.
|
|
|
|
|
- **ROADMAP cross-reference:** 18 unchecked items confirmed grounded in open issues; 1 new gap found and filed (#210 — Alertmanager was missing from roadmap coverage).
|
|
|
|
|
- **Current Blockers unchanged:** Operator must (1) create `0xWheatyz/api-company` (#47), (2) merge upstream Talos PR #14 (#187) to activate Flux, (3) configure DNS (#33, #106, #150).
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions.
|
|
|
|
|
- **1 open PR** — PR #212 (Alertmanager enable + Slack receiver): `kustomize build flux/` PASS; pending merge.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-05 — Sprint Planning Cycle #206)
|
|
|
|
|
|
|
|
|
|
- **#206** — STATUS.md updated for 2026-06-05 sprint planning cycle (this entry). Last-updated date set to 2026-06-05.
|
|
|
|
|
- **Completed outcomes from 2026-06-04 sprint planning cycle recorded:**
|
|
|
|
|
- Issue #204 (smoke-tests): reopened and relabeled `blocked` — was prematurely closed while prerequisites (DNS #33/#150, Flux #2/#187) are still open.
|
|
|
|
|
- ROADMAP cross-reference: all 18 unchecked items confirmed grounded in open issues (zero gaps).
|
|
|
|
|
- Staleness check: oldest open issue is #2 from 2026-05-18 (18 days, under 30-day threshold — no closures).
|
|
|
|
|
- Label audit: no label changes required — all existing priority/complexity labels are correct.
|
|
|
|
|
- **Critical path confirmed:** Operator must (1) create `0xWheatyz/api-company` (#47), (2) merge upstream Talos PR #14 (#187) to activate Flux, (3) configure DNS (#33, #106, #150).
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions.
|
|
|
|
|
- **0 open PRs** — nothing to review or merge.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-04 — Triage Cycle #204)
|
|
|
|
|
|
|
|
|
|
- **Triage** — All 29 open `agent-ready` issues reviewed and commented with current status (2026-06-04).
|
|
|
|
|
- **#204** (smoke tests): ❌ BLOCKED — all HTTP endpoints timeout; DNS not configured; kubectl unreachable.
|
|
|
|
|
- **#203** (ClusterIssuer): ❌ BLOCKED — kubectl not accessible from agent environment.
|
|
|
|
|
- **#187, #90, #2** (Flux wiring): Waiting on operator to merge upstream Talos PR #14.
|
|
|
|
|
- **#179, #178, #66** (validation checklists): Blocked on Flux active + cluster access.
|
|
|
|
|
- **#174** (VIN metrics): `kustomize build flux/` PASS; blocked on cluster deploy.
|
|
|
|
|
- **#173, #81, #128, #126, #127, #83, #80, #79, #77, #76, #74, #73, #70** (secrets): Manual operator tasks, all documented.
|
|
|
|
|
- **#167, #166** (launch/pre-launch): Blocked on DNS + Flux + RapidAPI + PayPal.
|
|
|
|
|
- **#161, #151, #150, #139, #116, #106, #47, #44, #33, #30, #19, #8, #7, #4, #3**: Manual operator tasks or blocked on operator actions.
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions.
|
|
|
|
|
- **0 PRs open** — nothing to review or merge.
|
|
|
|
|
- **Critical path unchanged:** Operator must (1) create `0xWheatyz/api-company` (#47), (2) merge upstream Talos PR #14 (#187) to activate Flux.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-04 — Sprint Planning Cycle #200/#201)
|
|
|
|
|
|
|
|
|
|
- **#200** — STATUS.md Infrastructure section updated: Flux wiring row for `flux/api-company-source/` updated to reflect Fork PR #399 **MERGED** to leeworks-agents/Talos; upstream PR #14 open on 0xWheatyz/Talos awaiting operator merge. Current Blockers updated to note upstream PR #14 as critical gate.
|
|
|
|
|
- **#201** — Sprint planning STATUS.md update for 2026-06-04 cycle. Issues #200 and #201 created this cycle. ROADMAP cross-reference: all 18 unchecked items confirmed grounded in open issues (no gaps). Staleness check: oldest open issue is #2 from 2026-05-18 (17 days, not stale — threshold 30 days). Priority review: all labels confirmed appropriate. Critical path: operator-gated on 0xWheatyz/Talos PR #14 merge.
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions confirmed.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-04 — Sprint Planning Cycle #198)
|
|
|
|
|
|
|
|
|
|
- **#198** — STATUS.md updated for 2026-06-04 sprint planning cycle. Last updated date set to 2026-06-04.
|
|
|
|
|
- **Sprint Summary:** 0 new code issues created (all ROADMAP items grounded — all 18 unchecked items have corresponding open issues). 0 issues closed (no stale; oldest is #2 at 17 days). 0 label changes. Critical path is entirely operator-gated: Talos merge of #187 unblocks the #2/#3/#4 chain.
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions confirmed.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-04 — Sprint Planning Cycle #196)
|
|
|
|
|
|
|
|
|
|
- **#196** — STATUS.md updated for 2026-06-04 sprint planning cycle. Last updated date set to 2026-06-04.
|
|
|
|
|
- **Sprint Summary:** ROADMAP cross-reference complete — all 18 unchecked items have corresponding open issues (no gaps). 1 new issue created: #196 (this STATUS.md update). 0 issues closed (no stale issues; oldest open issue is #2 from 2026-05-18, only 17 days old). 0 label changes (all priority/complexity labels correct). Critical path remains entirely operator-gated.
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions confirmed.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-03 — Sprint Planning Cycle #193/#194)
|
|
|
|
|
|
|
|
|
|
- **#194** — ROADMAP.md annotated with missing issue cross-references: Phase 0 issue #2 entry updated to reference implementation issue #187; Phase 6 entries added for issue #166 (pre-launch checklist) and #167 (launch announcement). Closes leeworks-agents/api-company#194.
|
|
|
|
|
- **#193** — STATUS.md updated for 2026-06-03 sprint planning cycle. Current Blockers confirmed accurate; #80 (gitea-image-automation-token) listed. Closes leeworks-agents/api-company#193.
|
|
|
|
|
- **Sprint Summary:** 2 new documentation issues created (#193 STATUS.md update, #194 ROADMAP annotation). 0 issues closed. 0 stale. Critical path entirely operator-gated.
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions confirmed.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-03 — Audit Cycle #190/#191)
|
|
|
|
|
|
|
|
|
|
- **#190** — ZIP Enrichment API audit complete: `openapi.yaml` present at repo root (57 KB, OpenAPI 3.0.3); server entry point `src/server.js`; all routes confirmed implemented; `X-RapidAPI-Proxy-Secret` preHandler middleware on all routes except `/health`; `/metrics` Prometheus endpoint present; STATUS.md ZIP Enrichment Spec and Code rows updated to `[x]`. Closes leeworks-agents/api-company#190.
|
|
|
|
|
- **#191** — Holidays API audit complete: `openapi.yaml` present at repo root (13 KB, OpenAPI 3.0.3); server entry point `src/server.js`; all routes confirmed implemented; `X-RapidAPI-Proxy-Secret` preHandler middleware on all routes except `/health` and `/metrics`; `/metrics` Prometheus endpoint present (issue #180 confirmed done); STATUS.md Holidays Spec and Code rows updated to `[x]`. Closes leeworks-agents/api-company#191.
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions confirmed.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-03 — Sprint Planning Cycle)
|
|
|
|
|
|
|
|
|
|
- **#188** — STATUS.md updated for 2026-06-03 sprint planning cycle (this entry). Last updated date set to 2026-06-03.
|
|
|
|
|
- **#187** — Talos PR for api-company Flux source manifests: PR #399 on `leeworks-agents/Talos` confirmed valid; upstream deploy PR created targeting `0xWheatyz/Talos`.
|
|
|
|
|
- **#186** — Air Quality API audit complete: `openapi.yaml` ✅ exists at repo root in `leeworks-agents/air-quality`; server implementation ✅ present (`src/server.ts`, `src/app.ts`, `src/routes/`); STATUS.md Air Quality row updated to `[x]/[x]`.
|
|
|
|
|
- **#178** relabeled — added `blocked` label (depends on #173 + Flux active).
|
|
|
|
|
- **#174** relabeled — added `blocked` label (depends on #18 deploy + #7 monitoring).
|
|
|
|
|
- **Current Blockers updated:** #187 added before #90 (same unblock target, more actionable).
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions confirmed.
|
|
|
|
|
|
|
|
|
|
## Completed Previous Cycle (2026-06-02 — Sprint Planning Cycle #175/#176)
|
|
|
|
@@ -62,7 +149,7 @@ Legend: [x]=done, [~]=in-progress, [ ]=not started
|
|
|
|
|
- **PR #160 closed** — had merge conflicts and ROADMAP.md regressions (unchecked completed items). Clean fix applied here.
|
|
|
|
|
- **`kustomize build flux/` = PASS** — no regressions.
|
|
|
|
|
|
|
|
|
|
## Current Blockers (as of 2026-06-03)
|
|
|
|
|
## Current Blockers (as of 2026-06-04)
|
|
|
|
|
|
|
|
|
|
In dependency order — operator tasks unless noted:
|
|
|
|
|
|
|
|
|
@@ -73,10 +160,12 @@ In dependency order — operator tasks unless noted:
|
|
|
|
|
5. **P1 #83** — Configure `GITEA_TOKEN` Actions secret in zip-enrichment, holidays, air-quality repos (operator)
|
|
|
|
|
6. **P1 #126** — Configure `GITEA_TOKEN` Actions secret in vin-decoder repo (operator — depends on #122 ✅)
|
|
|
|
|
7. **P1 #127** — Create `gitea-registry` imagePullSecret in `vin-decoder` namespace (operator)
|
|
|
|
|
8. **P2 #173** — Create ESO source secrets in `external-secrets` namespace for RapidAPI proxy-secret syncing (operator) — blocks ESO sync
|
|
|
|
|
9. **P2 #174** — VIN Decoder metrics instrumentation in `leeworks-agents/vin-decoder` repo (agent task, depends on #18 deploy)
|
|
|
|
|
10. **P2 #178** — Validate ESO HelmRelease deployment and ExternalSecret sync for all 4 API namespaces (depends on #173 + Flux active)
|
|
|
|
|
11. **P2 #179** — Execute extended full-stack Flux validation checklist including VIN Decoder (depends on #126, #127, #128)
|
|
|
|
|
8. **P1 #218** — Operator: merge 0xWheatyz/Talos upstream PR #14 to activate Flux GitOps for api-company — Fork PR #399 already MERGED to leeworks-agents/Talos; upstream PR #14 is the critical gate; unblocks #2, #3, #4, #66 chain (replaces closed #187 and #90)
|
|
|
|
|
10. **P2 #80** — Create `gitea-image-automation-token` secret in `flux-system` namespace (operator) — enables Flux image automation
|
|
|
|
|
11. **P2 #173** — Create ESO source secrets in `external-secrets` namespace for RapidAPI proxy-secret syncing (operator) — blocks ESO sync
|
|
|
|
|
12. **P2 #174** — VIN Decoder metrics instrumentation in `leeworks-agents/vin-decoder` repo (agent task, depends on #18 deploy)
|
|
|
|
|
13. **P2 #178** — Validate ESO HelmRelease deployment and ExternalSecret sync for all 4 API namespaces (depends on #173 + Flux active)
|
|
|
|
|
14. **P2 #179** — Execute extended full-stack Flux validation checklist including VIN Decoder (depends on #126, #127, #128)
|
|
|
|
|
|
|
|
|
|
## Sprint Summary (2026-06-01 — Sprint Planning Cycle)
|
|
|
|
|
- **Issues closed this cycle:** 0
|
|
|
|
@@ -118,7 +207,7 @@ In dependency order — operator tasks unless noted:
|
|
|
|
|
See **Current Blockers** section above for the full ordered list as of 2026-06-01.
|
|
|
|
|
|
|
|
|
|
1. **Create `0xWheatyz/api-company` repo** (#47) — **highest priority, unblocks everything**
|
|
|
|
|
2. **Add api-company Flux source to Talos** (#90) — needs Talos PR, reference manifests at `flux/api-company-source/`
|
|
|
|
|
2. **Merge upstream Talos PR #14 to activate Flux for api-company** (#218) — manifests already committed; operator must merge 0xWheatyz/Talos PR #14
|
|
|
|
|
3. **Create `gitea-leeworks-agents-token` secret** in `flux-system` (#76)
|
|
|
|
|
4. **Create `gitea-runner-token` secret** in `gitea-runner` (#77)
|
|
|
|
|
5. **Enable Gitea packages + DNS for `registry.leeworks.dev`** (#4)
|
|
|
|
|