[Phase 4] Verify Prometheus ServiceMonitor scrape config for zip-enrichment, holidays, and air-quality in live cluster #241
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?
Roadmap reference
Phase 4 — Monitoring. Analog to leeworks-agents/api-company#231 which covers the same verification for VIN Decoder.
Context
ServiceMonitor manifests for the original 3 APIs are committed at:
flux/zip-enrichment/servicemonitor.yamlflux/holidays/servicemonitor.yamlflux/air-quality/servicemonitor.yamlIssue #27 (closed ✅) added Prometheus instrumentation code to all 3 services (exposing
api_requests_total,api_response_duration_seconds,api_data_freshness_seconds). However, no dedicated issue tracks live-cluster verification that:/metricsendpoint is actually being scraped.Issue #66's validation checklist (step 5) only confirms
kube-prometheus-stack READY=Trueat the HelmRelease level. Issue #179's extended checklist (item 17) adds VIN Decoder servicemonitor verification but not the original 3 APIs.This issue fills that gap once Flux is active (gated on #218).
Tasks
Once Flux is active (issue #218 merged) and all API pods are running:
Verify at least one counter per API is incrementing after a test request to each
/healthendpoint.Post a comment on this issue confirming ✅ or documenting any ❌ with follow-up actions.
Acceptance Criteria
kubectl get servicemonitors -n zip-enrichment(and holidays, air-quality) returns the ServiceMonitor objectState=UPapi_requests_total{api="zip-enrichment"}(and holidays, air-quality variants) counter is scraping successfullyDependencies
(Reference: ROADMAP.md §Phase 4;
flux/zip-enrichment/servicemonitor.yaml;flux/holidays/servicemonitor.yaml;flux/air-quality/servicemonitor.yaml; issue #27 closed ✅)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.Triage 2026-07-01 (@qa-engineer): still blocked on live-cluster access. Verification requires
kubectl get servicemonitors, Prometheus Targets UI, andkubectl port-forward— all of which need an active kubeconfig. Additionally, the upstream repo 0xWheatyz/api-company is still empty (see #47), so Flux (#218) cannot yet reconcile from the canonical source. This issue remains ready to execute the moment (a) the operator pushes the initial upstream commit + merges the Flux activation PR, and (b) the ServiceMonitors are reconciled. No code changes possible from the agent side.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.