Deployment Validation - noetl/ai-meta GitHub Wiki
Deployment Validation
Authoritative rule:
agents/rules/deployment-validation.md
TL;DR
Every container image change validates on local kind before GKE. No exceptions for docs-only changes (those don't ship an image) or pure dev-only scaffolds (e.g. a dep added but no call site changed).
The validation order
1. Local cargo / pytest checks (existing CI gate)
2. Build the container image locally (or pull Cloud Build artefact)
3. Load the image into the local kind (kind load docker-image)
4. Apply the manifests / helm upgrade (against context kind-noetl)
5. Smoke-test the changed surface (curl, run a playbook, scrape metrics)
6. Only then: Cloud Build + GKE Helm (production rollout)
Cost: ~3 minutes per validation pass. Cost of a broken GKE rollout: hours.
Setup expected
- Podman machine
noetl-devrunning - Kind cluster
noetlrunning (kubectl --context kind-noetl get nodesreturns Ready) - Port mappings per
repos/noetl/ci/kind/config.yaml(server:8082, gateway:8090, postgres:54321, ...) - KEDA installed (operator + admission webhook + metrics apiserver)
Preferred entry point
From repos/ops:
noetl run automation/development/noetl.yaml --runtime local \
--set action=redeploy --set noetl_repo_dir=../noetl
Builds image with local working tree, loads into kind, rolls deployments.
Related
- Execution Model — the shape this validation defends.
- Sessions Log — sessions where validation surfaced real bugs (e.g. 2026-06-02 surfaced #47 + #48).
noetl/opswiki: https://github.com/noetl/ops/wiki — manifest + Helm operational reference.