Files
api-company/docs/tooling.md
T
agent-company 348baf96bb
Validate Flux manifests / kustomize-build (pull_request) Failing after 22s
docs: add docs/tooling.md with Phase 0 tooling versions and git remote config
Documents Node.js v22.22.2, Python 3.11.2, Helm v3.21.0, Flux CLI v2.4.0,
kustomize v5.6.0 as available in the agent container. Confirms git remote
points to gitea.leeworks.dev/leeworks-agents/api-company. Includes stack
summary (runtime choices, Helm registry, Flux bootstrap reference) and
a live-verification block for operator use.

Closes leeworks-agents/api-company#94
2026-05-29 10:02:06 +00:00

3.3 KiB

Tooling Versions

Phase 0 checklist item — documents the local agent container tooling and confirms git remote config. Live cluster verification (kubectl/flux against the running cluster) requires operator confirmation.

Agent Container Tooling

Tool Version Source
Node.js v22.22.2 node --version
Python 3 3.11.2 python3 --version
Helm v3.21.0 helm version --short
Flux CLI v2.4.0 flux version --client
kustomize v5.6.0 kustomize version
kubectl available kubectl (cluster context not set in agent container — live commands require kubeconfig from operator)

Git Remote Config

origin   ssh://git@gitea.leeworks.dev/leeworks-agents/api-company (fetch)
origin   ssh://git@gitea.leeworks.dev/leeworks-agents/api-company (push)
upstream ssh://git@gitea.leeworks.dev/0xWheatyz/api-company (fetch)
upstream ssh://git@gitea.leeworks.dev/0xWheatyz/api-company (push)

Remote origin confirmed pointing to gitea.leeworks.dev/leeworks-agents/api-company.

Note: 0xWheatyz/api-company upstream repo does not yet exist on Gitea — tracked by issue #47.

Stack Summary

Runtime choices

API Service Runtime Rationale
zip-enrichment Node.js (Fastify) Lightweight, fast JSON serialisation; large ZIP dataset fits SQLite well
holidays Node.js (Fastify) Simple lookup API; Fastify handles high req/s with low memory
air-quality Python (FastAPI) AQI ingestion benefits from Python data-science ecosystem
docs-site Astro (static) Zero-runtime static site; built by CI, served from container

Helm chart registry

All HelmReleases use charts sourced from public Helm chart repositories declared in flux/ as HelmRepository resources:

  • flux/gitea-runner/helmrepository.yaml — Gitea Act Runner chart
  • flux/monitoring/kube-prometheus-stack and Gatus charts
  • flux/zip-enrichment/, flux/holidays/, flux/air-quality/ — per-API service charts

The in-cluster container registry is registry.leeworks.dev (Gitea built-in packages/container registry, documented in docs/registry.md).

Flux version and bootstrap

  • Flux CLI: v2.4.0 (available in agent container for manifest authoring)
  • Flux controllers: bootstrapped into 0xWheatyz/Talos cluster (FluxCD v2.x)
    • flux-system namespace managed by Talos GitOps repo
    • Flux watches 0xWheatyz/Talostesting1/first-cluster/cluster/
    • api-company-source GitRepository + Kustomization adds this repo to Flux (issues #2, #90)
  • Bootstrap reference: 0xWheatyz/Talos repo — see Talos cluster documentation

Live Verification (Operator)

The following commands require a valid kubeconfig (not available in agent container):

kubectl config current-context          # confirm cluster context
kubectl version --client                # kubectl client version
flux check                              # Flux controller health
flux get sources git api-company        # GitRepository READY status
flux get kustomizations api-company     # Kustomization READY status
helm version                            # Helm client version
kustomize version                       # kustomize version

Reference: MASTER_BUILD_PROMPT.md §Phase 0 step 2 — Closes leeworks-agents/api-company#94