Say what you want to deploy. Watch it appear in ArgoCD.
Natural language in β GitHub repos created β Kubernetes workload running β ArgoCD synced. Under 2 minutes, zero manual steps.
git clone https://github.com/marcuspat/agentic-powered-golden-path-demo.git
cd agentic-powered-golden-path-demo
make setup # downloads idpbuilder, creates Python venv, installs deps
make bootstrap # spins up KinD cluster with ArgoCD + Tekton + Nginx (~3 min)Set your credentials:
export GITHUB_TOKEN=ghp_...
export GITHUB_USERNAME=your-username
export OPENROUTER_API_KEY=sk-or-...Then run the demo:
make preflight # 8 pre-flight checks (cluster, ArgoCD, GitHub API, deps)
make demo # AI agent onboards a new developer app end-to-endThat's it. Watch ArgoCD at https://cnoe.localtest.me/argocd as the app deploys itself.
Developer: "I need to deploy my inventory-api service"
β
βΌ
βββββββββββββββββββ
β OpenRouter LLM β β extracts app name from natural language
ββββββββββ¬βββββββββ
β AppNameExtracted
βΌ
βββββββββββββββββββ
β GitHub Agent β β creates inventory-api + inventory-api-gitops repos
ββββββββββ¬βββββββββ
β ReposCreated
βΌ
βββββββββββββββββββ
β Template Engine β β Jinja2 renders Node.js stack into both repos
ββββββββββ¬βββββββββ
β ReposPopulated
βΌ
βββββββββββββββββββ
β ArgoCD Agent β β registers ArgoCD Application CRD
ββββββββββ¬βββββββββ
β ArgoCDAppCreated β GitOpsSynced β WorkloadHealthy
βΌ
http://inventory-api.cnoe.localtest.me π
7 domain events. Zero manual steps.
| Requirement | Notes |
|---|---|
| Docker (24+) | KinD cluster runs inside Docker |
| Python 3.8+ | AI agent runtime |
| GitHub PAT | Scopes: repo, workflow |
| OpenRouter API key | Free tier works; used for NLP name extraction |
kubectl, curl, git |
Standard CLI tools |
make setup will tell you what's missing. make preflight validates everything before the live demo.
make help β self-documenting target reference
make setup β download idpbuilder binary + create venv + install deps
make bootstrap β idpbuilder create (KinD + ArgoCD + Tekton + Nginx)
make preflight β 8 pre-demo checks (env, tools, cluster, ArgoCD, GitHub, templates)
make demo β run the AI onboarding agent end-to-end
make test β run unit + integration test suite (v1 agent, v2 agent, manifests)
make status β cluster + ArgoCD app status snapshot
make clean β destroy cluster + remove venv + reset binaries
v1 Agent (ai-onboarding-agent/agent.py) |
v2 Agent (src/agent.py) |
|
|---|---|---|
| Style | Procedural | OOP OnboardingAgent class |
| Entry point | make demo |
Direct import |
| Config | 3 env vars | 5 env vars, configurable paths |
| Purpose | Live demo | Production reference |
Both implementations are intentionally preserved. See ADR-0022 for the rationale.
KinD (Kubernetes in Docker)
βββ ArgoCD β GitOps reconciliation (https://cnoe.localtest.me/argocd)
βββ Tekton β CI pipeline runtime
βββ Nginx β Ingress controller (*.cnoe.localtest.me)
βββ CNOE ecosystem β Cloud Native Operational Excellence baseline
nodejs-template/β Node.js app source (index.js, Dockerfile, k8s manifests)nodejs-gitops-template/β ArgoCD Application + Kustomize overlays
After make demo:
# ArgoCD CLI
argocd app get <app-name>
argocd app wait <app-name> --health
# Kubernetes
kubectl get pods -n <app-name>
# Hit the endpoint
curl http://<app-name>.cnoe.localtest.meArgoCD dashboard: https://cnoe.localtest.me/argocd
- Username:
admin - Password:
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
agentic-powered-golden-path-demo/
βββ Makefile # β start here: make help
βββ scripts/
β βββ setup.sh # platform-aware bootstrap (macOS/Linux, amd64/arm64)
β βββ preflight.sh # 8 pre-demo validation checks
βββ ai-onboarding-agent/
β βββ agent.py # v1 demo agent (procedural)
β βββ test_agent.py # v1 unit tests
βββ src/
β βββ agent.py # v2 production agent (OOP)
β βββ test_agent.py # v2 unit tests
βββ cnoe-stacks/
β βββ nodejs-template/ # Node.js application source template
β βββ nodejs-gitops-template/ # ArgoCD + k8s manifests template
βββ tests/
β βββ golden_path_tests.py
β βββ test-integration-e2e.py
βββ docs/
β βββ adr/ # 22 Architecture Decision Records (ADR-0001β0022)
β βββ ddd/ # 13 Domain-Driven Design documents
βββ requirements.txt
βββ .github/workflows/ci.yml # 5-job CI: lint, test-v1, test-v2, validate-manifests, smoke
This repo ships with complete architectural documentation:
- 22 ADRs (
docs/adr/) β every non-obvious decision recorded with context, alternatives, and consequences - 13 DDD documents (
docs/ddd/) β bounded contexts, domain events, ubiquitous language, and the implementation runbook
Key ADRs:
- ADR-0021 β Why Makefile over Taskfile / justfile / pyproject scripts
- ADR-0022 β v1 vs v2 agent co-existence strategy
idpbuilder fails to start
docker ps # Docker must be running
make clean # tear down any partial state
make bootstrap # retryArgoCD stuck / apps not syncing
make status # snapshot current state
kubectl get pods -n argocd
argocd app sync <app-name> --forceGitHub push fails
curl -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/user
# Must return your user object β not a 401openai module not found / import errors
source .venv/bin/activate
pip install -r requirements.txtSee docs/ddd/13-implementation-runbook.md for the full troubleshooting guide.
make test # run full test suite before opening a PRCI runs on every push: lint (ruff), test-v1, test-v2, manifest validation, dry-run smoke.
Apache-2.0 β see LICENSE.