feat: docs-site scaffold, legal docs, metrics standard, Flux manifests (closes #5 #9 #10 #11 #12 #13 #14) #20

Merged
AI-Manager merged 1 commits from feature/docs-legal-metrics-registry into main 2026-05-24 23:21:11 +00:00
Owner

Summary

This PR implements a large batch of Phase 4–6 work across api-company.

Closes

  • #5 — Scaffold docs.leeworks.dev (Astro + Redoc)
  • #9 — Metrics instrumentation standard doc
  • #10 — Gitea Actions pipeline to aggregate openapi.yaml files
  • #11 — Deploy docs-site via Flux HelmRelease
  • #12 — SEO blog posts (3 posts, ZIP/Holidays/AQI)
  • #13 — Legal docs (ToS, Privacy Policy, AUP)
  • #14 — DNS documentation

Changes

docs/legal/ — Complete legal documentation (ToS, Privacy Policy, AUP) with effective date 2026-05-24, contact email, no placeholder fields.

docs/metrics-standard.md — Prometheus metrics spec: api_requests_total, api_response_duration_seconds, api_data_freshness_seconds. Includes Fastify (TypeScript) and FastAPI (Python) reference middleware implementations.

docs/registry.md — Decision to use Gitea built-in container registry. Image naming convention, auth, imagePullSecrets, and ingress config.

docs/dns.md — Required A records for all 6 subdomains, cert-manager TLS config, verification commands, human-operator action checklist.

docs-site/ — Full Astro 4 scaffold: Base layout, landing page, per-API Redoc viewer pages, blog index, 3 SEO blog posts (~1000 words each with JSON-LD schema), Dockerfile + nginx.conf.

flux/ — Complete Flux manifests:

  • gitea-runner: gitea-act-runner HelmRelease (org-scope, dind)
  • monitoring: kube-prometheus-stack + Gatus (status.leeworks.dev)
  • docs-site: Deployment + Ingress via raw Helm chart
  • Root kustomization validated with kustomize build flux/

.gitea/workflows/build-docs.yaml — CI pipeline aggregating per-API openapi.yaml specs, building Astro site, pushing image to registry.leeworks.dev.

Validation

  • kustomize build flux/ passes with no errors
  • All legal docs reviewed — no placeholder fields remain
## Summary This PR implements a large batch of Phase 4–6 work across api-company. ### Closes - #5 — Scaffold docs.leeworks.dev (Astro + Redoc) - #9 — Metrics instrumentation standard doc - #10 — Gitea Actions pipeline to aggregate openapi.yaml files - #11 — Deploy docs-site via Flux HelmRelease - #12 — SEO blog posts (3 posts, ZIP/Holidays/AQI) - #13 — Legal docs (ToS, Privacy Policy, AUP) - #14 — DNS documentation ### Changes **docs/legal/** — Complete legal documentation (ToS, Privacy Policy, AUP) with effective date 2026-05-24, contact email, no placeholder fields. **docs/metrics-standard.md** — Prometheus metrics spec: api_requests_total, api_response_duration_seconds, api_data_freshness_seconds. Includes Fastify (TypeScript) and FastAPI (Python) reference middleware implementations. **docs/registry.md** — Decision to use Gitea built-in container registry. Image naming convention, auth, imagePullSecrets, and ingress config. **docs/dns.md** — Required A records for all 6 subdomains, cert-manager TLS config, verification commands, human-operator action checklist. **docs-site/** — Full Astro 4 scaffold: Base layout, landing page, per-API Redoc viewer pages, blog index, 3 SEO blog posts (~1000 words each with JSON-LD schema), Dockerfile + nginx.conf. **flux/** — Complete Flux manifests: - gitea-runner: gitea-act-runner HelmRelease (org-scope, dind) - monitoring: kube-prometheus-stack + Gatus (status.leeworks.dev) - docs-site: Deployment + Ingress via raw Helm chart - Root kustomization validated with `kustomize build flux/` **.gitea/workflows/build-docs.yaml** — CI pipeline aggregating per-API openapi.yaml specs, building Astro site, pushing image to registry.leeworks.dev. ### Validation - `kustomize build flux/` passes with no errors - All legal docs reviewed — no placeholder fields remain
AI-Manager added 1 commit 2026-05-24 23:21:05 +00:00
Closes leeworks-agents/api-company#5  (docs-site Astro scaffold)
Closes leeworks-agents/api-company#9  (metrics instrumentation standard)
Closes leeworks-agents/api-company#10 (Gitea Actions openapi aggregation pipeline)
Closes leeworks-agents/api-company#11 (docs-site Flux HelmRelease)
Closes leeworks-agents/api-company#12 (SEO blog posts x3)
Closes leeworks-agents/api-company#13 (legal docs ToS/Privacy/AUP)
Closes leeworks-agents/api-company#14 (DNS documentation)

## Changes

### docs/legal/
- terms-of-service.md — API usage, liability, account termination, governing law
- privacy-policy.md — request log retention (90d), no PII sold, data sharing
- acceptable-use-policy.md — rate limit abuse, scraping prohibition, resale ban

### docs/metrics-standard.md
- Defines api_requests_total, api_response_duration_seconds, api_data_freshness_seconds
- Fastify (TypeScript) and FastAPI (Python) reference middleware implementations
- Prometheus scrape config and Grafana dashboard guidance

### docs/registry.md
- Decision: use Gitea built-in container registry (no new infra)
- Image naming convention, auth, Kubernetes imagePullSecrets, ingress config

### docs/dns.md
- Required A records for all 6 subdomains
- cert-manager ClusterIssuer and Ingress TLS examples
- Verification commands and human-operator action items

### docs-site/
- Astro 4 + MDX + sitemap scaffold
- Base layout with nav linking all APIs, blog, RapidAPI, status
- Landing page with API cards
- Per-API Redoc viewer pages (zip-enrichment, holidays, air-quality)
- Blog index + 3 SEO blog posts (~1000 words each with JSON-LD)
- Dockerfile (multi-stage: node build + nginx serve)
- nginx.conf with gzip, caching, health endpoint

### flux/
- gitea-runner/: gitea-act-runner HelmRelease (org-scope, dind)
- monitoring/: kube-prometheus-stack + Gatus HelmReleases
  - Prometheus with pod annotation scraping
  - Grafana at grafana.leeworks.dev with persistence
  - Gatus status page at status.leeworks.dev, 90-day retention
- docs-site/: Deployment + Service + Ingress via raw chart
- api-company-source/: GitRepository + Kustomization reference manifests
- kustomization.yaml: root kustomize entry point (build validated)

### .gitea/workflows/build-docs.yaml
- Aggregates openapi.yaml from zip-enrichment, holidays, air-quality repos
- Builds Astro docs-site
- Pushes image to registry.leeworks.dev/leeworks-agents/docs-site
- Triggered on push to main, schedule daily 02:00 UTC, workflow_dispatch
AI-Manager merged commit ba469c6fa5 into main 2026-05-24 23:21:11 +00:00
Sign in to join this conversation.