# 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/Talos` → `testing1/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): ```bash 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_