Files
api-company/ROADMAP.md
AI-Agent 14c051fe8f
Validate Flux manifests / kustomize-build (pull_request) Failing after 25s
docs: annotate ROADMAP.md Phase 4 Alertmanager + update STATUS.md for cycle #215
- ROADMAP.md: add checked bullet for Alertmanager + Slack receiver (issue #210)
  under Phase 4 Monitoring after VIN Decoder Gatus health check entry.
  Closes leeworks-agents/api-company#214.

- STATUS.md: add Completed This Cycle section for Sprint Planning Cycle #215.
  Documents 1 new issue (#214), 0 closures, 0 label changes, critical path
  unchanged. kustomize build flux/ = PASS.
  Closes leeworks-agents/api-company#215.
2026-06-05 15:02:54 +00:00

4.0 KiB

api-company Roadmap

Cross-repo milestones. Per-API phases live in each API repo's ROADMAP.md.

As of 2026-05-30, a 4th API (VIN Decoder) has been added. Per-API phases also live in leeworks-agents/vin-decoder.

Phase 0 — Orientation (one-time)

  • Audit cluster: nodes, namespaces, ingress, Flux state → docs/cluster-audit.md (issue #36 — closed )
  • Add Flux GitRepository + Kustomization watching leeworks-agents/api-company — issue #2 (Talos PR implementation: issue #187)
  • Deploy gitea-act-runner in cluster via Flux HelmRelease (flux/gitea-runner/) — issue #3
  • Stand up registry.leeworks.dev (container registry) — required before any API CI works — issue #4
  • Validate ESO HelmRelease deployment and ExternalSecret sync for all 4 API namespaces — issue #178
  • Extend full-stack Flux validation checklist to cover VIN Decoder — issue #179 (extends #66)

Phase 1 — API Contracts

Each API repo writes its openapi.yaml first and lints it. Spec is the source of truth.

  • See: leeworks-agents/zip-enrichment, holidays, air-quality, vin-decoder

Phase 2 — Data

Per-API: pull free public data sources, cache locally (SQLite or in-memory), schedule monthly re-seed.

  • VIN Decoder: NHTSA vPIC as data source — SQLite cache seeded on demand (issue #120 — closed )

Phase 3 — Servers

Per-API: implement Fastify/FastAPI service matching openapi.yaml exactly. RapidAPI proxy-secret middleware on every route.

  • VIN Decoder: Fastify server implementation (issue #121 — closed )

Phase 4 — Monitoring

  • Prometheus + Grafana via Flux HelmRelease (flux/monitoring/) — issue #7
  • Gatus public status page at status.leeworks.dev — issue #8
  • Instrument every API with api_requests_total, api_response_duration_seconds, api_data_freshness_seconds (issue #27 — closed )
  • Add Prometheus metrics endpoint to holidays service (issue #180 — closed )
  • Verify VIN Decoder metrics endpoint and ServiceMonitor scrape config — issue #174
  • VIN Decoder metrics instrumentation + Grafana dashboard (issue #129 — closed )
  • VIN Decoder Gatus health check (issue #134 — closed )
  • Enable Alertmanager in kube-prometheus-stack + configure Slack receiver for SLO alerts (issue #210 — closed )

Phase 5 — Documentation site

  • docs-site/ Astro + Redoc skeleton (issue #28 — closed )
  • Gitea Actions pipeline that copies per-API openapi.yaml files at build time (issues #29 , #38 , #85 )
  • Deploy to docs.leeworks.dev via Flux — issue #30
  • One SEO blog post per API minimum (issues #39 — ZIP/Holidays/AirQuality, #124 — VIN Decoder)
  • VIN Decoder docs page (issue #123 — closed )
  • VIN Decoder SEO blog post (issue #124 — closed )

Phase 6 — Pre-launch

  • docs/legal/terms-of-service.md (issue #40 — closed )

  • docs/legal/privacy-policy.md (issue #40 — closed )

  • docs/legal/acceptable-use-policy.md (issues #40 , #89 )

  • DNS: zip.leeworks.dev, holidays.leeworks.dev, aqi.leeworks.dev, docs., status., registry. — issues #33, #106, #150

  • VIN Decoder DNS vin.leeworks.dev (issue #130 — closed )

  • VIN Decoder RapidAPI listing (issue #131 — closed as tracker; operator action required)

  • PayPal linked to RapidAPI (manual, on 18th birthday) — issue #19

  • Paid tiers enabled on RapidAPI listings (manual) — issues #44 (original 3), #151 (VIN Decoder)

  • Execute pre-launch checklist before go-live — issue #166

  • Publish launch announcement (HN, Reddit, Twitter, Dev.to) — issue #167

Revenue target

$100/mo net ≈ $136/mo gross after RapidAPI 25% + PayPal ~2%.

Plan baseline Subs needed for net $100/mo
15 Basic @ $9 $122 net
7 Pro @ $19 $97 net
3 Ultra @ $49 $107 net

(Per-API rough math; mix-and-match across all 4 APIs — ZIP Enrichment, Holidays, Air Quality, VIN Decoder.)