Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3860b44dc5 |
@@ -1,6 +1,6 @@
|
|||||||
# Company Status
|
# Company Status
|
||||||
|
|
||||||
_Last updated: 2026-05-27 (agent cycle — evening triage)_
|
_Last updated: 2026-05-27 (agent cycle — night triage)_
|
||||||
|
|
||||||
## APIs
|
## APIs
|
||||||
| API | Spec | Code | Deployed | Listed on RapidAPI | Paying Users | MRR |
|
| API | Spec | Code | Deployed | Listed on RapidAPI | Paying Users | MRR |
|
||||||
@@ -21,7 +21,13 @@ Legend: [x]=done, [~]=in-progress, [ ]=not started
|
|||||||
- **API service manifests:** `flux/zip-enrichment/`, `flux/holidays/`, `flux/air-quality/` scaffolded (PR #48, closes #46)
|
- **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
|
- **Image automation:** `flux/image-automation/` — ImageRepository + ImagePolicy + ImageUpdateAutomation for all three APIs
|
||||||
|
|
||||||
## Completed This Cycle (2026-05-27 — Evening Triage)
|
## Completed This Cycle (2026-05-27 — Night Triage)
|
||||||
|
- **#67** — New issue triaged: grafana.leeworks.dev missing from DNS checklist. Confirmed `docs/operator-runbook.md` Phase 4 DNS table already lists 7 subdomains including grafana (added by #62). No code change needed; gated on operator DNS setup. Comment posted.
|
||||||
|
- **#66** — New issue triaged: Flux reconciliation validation checklist. Blocked on operator completing Phase 0 (#47, #2, #3, #4). `kustomize build flux/` = PASS confirmed. Comment posted.
|
||||||
|
- **No open PRs** — nothing to merge or review.
|
||||||
|
- **`kustomize build flux/` = PASS** — no regressions.
|
||||||
|
|
||||||
|
## Completed Previous Cycle (2026-05-27 — Evening Triage)
|
||||||
- **Triage pass** — all 15 open agent-ready issues reviewed; status comments posted on each.
|
- **Triage pass** — all 15 open agent-ready issues reviewed; status comments posted on each.
|
||||||
- **No open PRs** — nothing to merge or review.
|
- **No open PRs** — nothing to merge or review.
|
||||||
- **No new feature work** — all issues remain blocked on operator actions or cross-repo prerequisites.
|
- **No new feature work** — all issues remain blocked on operator actions or cross-repo prerequisites.
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ Follow this list top-to-bottom; each step unblocks the next.
|
|||||||
- [ ] 7. Add api-company Flux source + kustomization to 0xWheatyz/Talos — unblocks all GitOps reconciliation
|
- [ ] 7. Add api-company Flux source + kustomization to 0xWheatyz/Talos — unblocks all GitOps reconciliation
|
||||||
- [ ] 8. `gitea-registry` (zip-enrichment, holidays, air-quality, docs-site) — imagePullSecret for pods pulling from `registry.leeworks.dev`
|
- [ ] 8. `gitea-registry` (zip-enrichment, holidays, air-quality, docs-site) — imagePullSecret for pods pulling from `registry.leeworks.dev`
|
||||||
- [ ] 9. `gitea-image-automation-token` (flux-system) — write-scoped token for Flux ImageUpdateAutomation to push image-tag commits
|
- [ ] 9. `gitea-image-automation-token` (flux-system) — write-scoped token for Flux ImageUpdateAutomation to push image-tag commits
|
||||||
- [ ] 10. `rapidapi-proxy-secret` (zip-enrichment, holidays, air-quality) — RapidAPI Proxy Secret for server-side request validation
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -156,44 +155,6 @@ Unblocks: Issue #2 (Flux reconciliation of all `flux/` manifests in this repo).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 10. `rapidapi-proxy-secret` — RapidAPI Proxy Secret (per API namespace)
|
|
||||||
|
|
||||||
| Field | Value |
|
|
||||||
|-----------|-------|
|
|
||||||
| Name | `rapidapi-proxy-secret` |
|
|
||||||
| Namespaces | `zip-enrichment`, `holidays`, `air-quality` |
|
|
||||||
| Purpose | Every API service validates the `X-RapidAPI-Proxy-Secret` header on every route. Requests without a valid secret return HTTP 403. |
|
|
||||||
| Source | RapidAPI dashboard → API Settings → Security → **Proxy Secret** (generated after each API listing is created) |
|
|
||||||
| Unblocks | Phase 3 server middleware; API services will start but reject all traffic without this secret |
|
|
||||||
|
|
||||||
```bash
|
|
||||||
for NS in zip-enrichment holidays air-quality; do
|
|
||||||
kubectl create secret generic rapidapi-proxy-secret \
|
|
||||||
--namespace=$NS \
|
|
||||||
--from-literal=X-RapidAPI-Proxy-Secret=<value-from-rapidapi-dashboard>
|
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
**Source:** RapidAPI dashboard → select your API → Settings → Security → Proxy Secret
|
|
||||||
|
|
||||||
> **Note:** Placeholder `ExternalSecret` manifests are committed at
|
|
||||||
> `flux/zip-enrichment/externalsecret.yaml`, `flux/holidays/externalsecret.yaml`,
|
|
||||||
> and `flux/air-quality/externalsecret.yaml`. These will auto-sync this secret
|
|
||||||
> from the configured backend once the External Secrets Operator (ESO) is
|
|
||||||
> deployed (see issue #61). Until then, create manually using the commands above.
|
|
||||||
|
|
||||||
Verify:
|
|
||||||
```bash
|
|
||||||
for NS in zip-enrichment holidays air-quality; do
|
|
||||||
echo -n "$NS: "
|
|
||||||
kubectl get secret rapidapi-proxy-secret -n $NS -o jsonpath='{.data.X-RapidAPI-Proxy-Secret}' | base64 -d | wc -c
|
|
||||||
echo " chars"
|
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Dependency Order
|
## Dependency Order
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -205,7 +166,6 @@ done
|
|||||||
5 + 6 (GITEA_TOKEN + registry packages) → CI pushes images → API services deploy
|
5 + 6 (GITEA_TOKEN + registry packages) → CI pushes images → API services deploy
|
||||||
8 (gitea-registry) → pods can pull images from registry.leeworks.dev → services start
|
8 (gitea-registry) → pods can pull images from registry.leeworks.dev → services start
|
||||||
9 (gitea-image-automation-token) → Flux ImageUpdateAutomation pushes tag-update commits
|
9 (gitea-image-automation-token) → Flux ImageUpdateAutomation pushes tag-update commits
|
||||||
10 (rapidapi-proxy-secret × 3) → API server middleware validates RapidAPI requests → revenue enabled
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Once all nine items are complete, the full stack (runner, registry, Prometheus, Grafana, Gatus, docs-site, three API services) reconciles automatically via FluxCD with no further manual steps.
|
Once all nine items are complete, the full stack (runner, registry, Prometheus, Grafana, Gatus, docs-site, three API services) reconciles automatically via FluxCD with no further manual steps.
|
||||||
|
|||||||
Reference in New Issue
Block a user