[Phase 0] Operator: create rapidapi-proxy-secret in each API namespace to enable request validation
#81
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The server-side middleware for each API service validates the
X-RapidAPI-Proxy-Secretheader on every incoming request, returning HTTP 403 if the secret is missing or incorrect. The Kubernetes secretrapidapi-proxy-secretmust exist in thezip-enrichment,holidays, andair-qualitynamespaces before the services will accept traffic from RapidAPI.ExternalSecretmanifests are already committed atflux/zip-enrichment/externalsecret.yaml,flux/holidays/externalsecret.yaml, andflux/air-quality/externalsecret.yaml. These will auto-sync the secret via the External Secrets Operator once it is deployed. Until then, or as a manual bootstrap, the operator must create the secret directly.This is item #10 in
docs/secrets-checklist.mdbut has no dedicated tracking issue.What the operator must do
Pre-requisite
Each API must first be listed on RapidAPI to obtain a Proxy Secret (tied to Phase 6 / issue #44). However, placeholder secrets can be created now (with a dummy value) so deployments proceed, and updated once the real value is available from RapidAPI.
Create placeholder secrets now (unblocks deploy)
Update with real secrets after RapidAPI listing (#44) is complete
RapidAPI provides a unique Proxy Secret per API listing:
Acceptance criteria
kubectl get secret rapidapi-proxy-secret -n zip-enrichment(and holidays, air-quality) returns the secret/healthendpoint returns 200 and test requests with validX-RapidAPI-Proxy-Secretheader succeedDependencies
Note
This is a manual operator task — the agent cannot create Kubernetes secrets directly. Placeholder secrets can be created immediately; real secrets require RapidAPI listings.
(Reference: ROADMAP.md §Phase 3 + §Phase 6; docs/secrets-checklist.md item #10)
@devops — Triage 2026-05-28
Role: @devops (Kubernetes secret provisioning / RapidAPI proxy validation)
Status: BLOCKED — manual operator task. Agent cannot create Kubernetes secrets.
This issue requires the human operator to create the
rapidapi-proxy-secretin three namespaces (zip-enrichment,holidays,air-quality). ExternalSecret manifests are already committed atflux/<ns>/externalsecret.yamland will auto-sync once ESO is deployed. Placeholder secrets can be created now to unblock deployments.Operator action (Phase 0 — create placeholders now, update after #44)
Update with real secrets after RapidAPI listing (#44)
Dependencies
/health200, 403 on missing headerkustomize build flux/ = PASS — no regressions this cycle.
@devops — Triaged. Manual operator task — agent cannot create Kubernetes secrets. Status: blocked on operator action — operator must create
rapidapi-proxy-secretin zip-enrichment, holidays, and air-quality namespaces. Placeholder values can be used now; real values require RapidAPI listing (#44).Triage (@devops): Manual operator task — agent cannot create Kubernetes secrets. Operator should run the provided kubectl commands to create placeholder
rapidapi-proxy-secretin zip-enrichment, holidays, and air-quality namespaces. Real secrets require RapidAPI listings (#44). Remaining blocked on operator.🔒 Operator action required — This issue requires manual steps that cannot be automated by the agent. No new agent-implementable work is available here at this time. Awaiting operator completion of the prerequisites listed in the issue body before this unblocks.
@devops — Still blocked on Phase 0 operator actions. No new agent work available. Status unchanged from previous cycle — please see STATUS.md for the current critical path.
[@devops/@senior-developer] Reviewed 2026-05-30: This is a manual operator task or is blocked on external prerequisites (see issue body). No agent action possible at this time. Monitoring for unblock signals each cycle.
Triage — manual operator task, blocked ⏳
This issue requires direct operator action (Kubernetes secret creation, Gitea Actions secret configuration, DNS record, or Gitea Admin access) that the agent cannot perform. Issue remains open, waiting on operator prerequisites.
@devops 🔒 Blocked — manual operator task. Placeholder secrets can be created now. Real secrets require RapidAPI listing (#44). Docs in operator-runbook.md Phase 5.
@devops / @operator-required — 2026-06-01 triage. This issue remains blocked on operator actions that the agent cannot perform directly (Kubernetes secrets, Gitea admin, DNS, RapidAPI account, etc.). No agent-actionable work available until prerequisites from the Critical Path are completed. See STATUS.md Current Blockers section for the ordered dependency list.
Triage 2026-06-02 — Manual operator task. Placeholder rapidapi-proxy-secret creation commands are documented in the issue. Blocked on services being deployed (#18). No agent action needed. Waiting on operator.
@devops/@security-reviewer — Triage 2026-06-02: Status confirmed. This issue remains open and blocked on operator or external prerequisites. No agent-actionable code changes possible this cycle. Critical path tracked in STATUS.md Current Blockers. No regressions:
kustomize build flux/= PASS.2026-06-04 sprint triage (@devops): No change since last triage (2026-06-02). This issue remains blocked on operator prerequisites (Flux activation via #47 + #187, and/or other manual operator tasks). No agent action possible at this time. Full blockers list in STATUS.md.
Status check 2026-06-04 — @devops
Manual operator task. Placeholder
rapidapi-proxy-secretcan be created inzip-enrichment,holidays,air-qualitynamespaces once Flux is active. Blocked on Talos PR #14 merge (#187). No agent code action.2026-06-05 Triage
Status: BLOCKED/PENDING (as of 2026-06-05) — No change from prior cycle. All agent-ready conditions are unmet pending operator completion of critical-path items: (1) create
0xWheatyz/api-company(#47), (2) merge upstream Talos PR #14 (#187) to activate Flux, (3) configure DNS (#33, #106, #150). See STATUS.md for full ordered blocker list. No agent action available today.@devops/@tech-writer status check (2026-06-05): This is a manual operator task — the agent cannot create Kubernetes secrets, Gitea Actions secrets, RapidAPI listings, DNS records, or social media posts. Issue remains open awaiting operator action. All prerequisites tracked in the issue body. No agent-side code changes required at this time.
2026-06-05 triage — Status unchanged. This issue remains blocked on operator actions or upstream dependencies. Critical path: operator must (1) create
0xWheatyz/api-company(#47), (2) merge upstream Talos PR #14 (#187) to activate Flux, (3) configure DNS (#33/#106/#150). No agent-actionable items beyond what is already committed.kustomize build flux/= PASS ✅.@devops triage 2026-06-06: Manual operator task — placeholder
rapidapi-proxy-secretcan be created inzip-enrichment,holidays,air-qualitynamespaces immediately once cluster is accessible. Real values from RapidAPI needed post-listing (#44). All ExternalSecret manifests committed and ready for ESO takeover. Blocked on cluster access (#218, #47).🔍 Triage review 2026-06-06 — Operator task or blocked on upstream operator actions. No agent-implementable change available this cycle. Root critical-path blocker: operator merge of 0xWheatyz/Talos PR #14 to activate Flux GitOps for api-company.
@devops — Triage 2026-06-07: Manual operator task — create
rapidapi-proxy-secretin zip-enrichment, holidays, air-quality namespaces. Placeholder can be created now; real values after #44 (RapidAPI listing). Status unchanged.@devops / @qa-engineer triage — 2026-06-07
Status: BLOCKED — awaiting operator action
This issue remains blocked on the same critical-path operator prerequisites:
0xWheatyz/api-companyupstream repo (highest priority)0xWheatyz/TalosPR #14 to activate FluxAll agent-side implementation work for this issue is complete. No agent action possible until cluster is live.
kustomize build flux/= PASS — no manifest regressions.@devops triage (2026-06-08 — Cycle #233): Status unchanged — still BLOCKED on operator Flux activation (issue #218 / Talos PR #14 merge) and
0xWheatyz/api-companycreation (issue #47). All agent-side work complete; this is a manual operator task.kustomize build flux/passes (no regressions). No agent action possible until cluster is reachable.@devops / @qa-engineer triage (2026-06-08, cycle #237): This is a manual operator task — no agent-side work is possible. All manifests and code are committed. This issue remains BLOCKED awaiting the operator to complete the listed steps. Critical path: (1) create
0xWheatyz/api-company(#47), (2) merge0xWheatyz/TalosPR #14 (#218), (3) configure DNS (#33, #106, #150).kustomize build flux/= PASS.@devops triage 2026-06-08 (cycle #240):
Status: BLOCKED — manual operator task
Operator must create
rapidapi-proxy-secretin zip-enrichment, holidays, and air-quality namespaces. Placeholder values can be created immediately; real values require RapidAPI listings (#44). ExternalSecret manifests committed atflux/*/externalsecret.yamlwill take over once ESO is deployed. Agent cannot create Kubernetes secrets. No agent action possible this cycle.@devops review 2026-06-08 (cycle #241): Status unchanged — BLOCKED on operator actions (Talos PR #14 merge → #218, upstream repo creation → #47).
kustomize build flux/✅ PASS. No open PRs. No agent-side work outstanding this cycle.[@devops triage 2026-06-09] Still blocked on Flux activation (#218 — operator must merge 0xWheatyz/Talos PR #14) and the
0xWheatyz/api-companyupstream repo (#47). All agent-side manifests are committed andkustomize build flux/✅ passes. Awaiting operator action.2026-06-15 triage cycle: still blocked on operator critical path (#47, #218, #33/#106/#150). No agent-implementable work;
kustomize build flux/= PASS. Status unchanged since cycle #240.2026-07-24 triage cycle (@devops): no change. All 37 open agent-ready issues remain blocked on operator prerequisites — upstream repo 0xWheatyz/api-company (#47) still empty (verified via API), no live-cluster kubectl/flux access from workspace, RapidAPI listing not yet submitted (#44). Nothing agent-implementable in-repo this cycle. Re-triage next cycle.
Manager cycle triage (2026-07-24): still blocked — this is a manual operator task (or requires live Flux cluster). No agent-side action possible until the prerequisite is satisfied. Marking as reviewed; will re-check next cycle.