-
Notifications
You must be signed in to change notification settings - Fork 0
Deployment Validation
Kadyapam edited this page Jun 2, 2026
·
1 revision
Authoritative rule:
agents/rules/deployment-validation.md
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).
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.
- 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)
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.
- 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.
- Home — overview
- Repo Map
- Releases
- Sessions Log
- Secrets Wallet (#61) — SECURITY (design)
- Rust Server Port (#49) — PRIMARY
- Decoupled Context + Event Chain (#115) — RFC (design), reframes #101
- Orchestrator Scaling (#101) — reframed by #115; consume side = #115 Phase 1
- Event WAL + Derivable Storage (#104) — Round 01 (locator) PR open
- WASM Plug-in Compilation (#105) — system-pool plug-in hot-reload (ADR Phase 4)
- System Pool Design (#46) — PRIMARY
- Regression Baseline Migration (#98) — e2e
- Subscription / Listener Tool (#90) — RFC
- Container Tool Callback (#43)
- Rust Worker Parity Gaps (#47 · #48)
- Event Envelope Reconciliation (#51 in TaskList)
- Cursor Loop Mode (#100) — server v3.8.0 + tools v3.10.1, 2026-06-15
- Transfer Tool Credentials (#99) — tools v3.10.0 + worker v5.22.0, 2026-06-14
- Explicit Input Binding (#77) — v3.0.0 shipped 2026-06-09
- Rust Worker Migration (#30)
- Python Services → Rust (#45)
- Issue Tracking
- Wiki Convention
- Handoffs
- Deployment Validation
- Execution Model
- Data Access Boundary
- Observability
- noetl/noetl wiki — app + DSL
- noetl/server wiki — Rust control plane
- noetl/worker wiki — Rust pull worker
- noetl/tools wiki — tool registry crate
- noetl/cli wiki — CLI + local mode
- noetl/gateway wiki — gatekeeper
- noetl/ops wiki — Helm + manifests
- noetl/travel wiki — domain SPA reference
- Docs site — engineer-facing architecture