Skip to main content

Golden Paths: Business-Driven Technical Excellence

Start with framework defaults. Add complexity only when a measurable trigger fires.

The ADLC golden path for xOps BC1 — the tested, supported route from docker compose up to production AWS. Every alternative was evaluated and deferred with a documented trigger condition (ADRs).


Path Overview

LOCAL ($0)  →  TEST ($45)  →  SIT ($120)  →  PROD ($180)  →  PEAK ($380)
2 services ECS staging Full stack Graviton4 6 replicas
docker-compose + EFS + CloudFront ARM64 2-6 high volume

Stage 1: Local Golden Path (Wk 1-2)

Target: Developer laptop, $0 infrastructure

# 3 commands to working xOps
git submodule add [email protected]:1xOps/adlc-framework.git .adlc
ln -s .adlc/.claude .claude && ln -s .adlc/.specify .specify
docker compose up -d # 2 services: openwebui + fastapi+crewai
ComponentGolden PathAlternativeTrigger to Upgrade
AI ProviderClaude API direct via LiteLLMOllama localPrivacy mandate
DatabaseSQLite (Open WebUI default)PostgreSQL>50 concurrent writes
Vector DBChromaDB (CrewAI Knowledge)pgvector/QdrantCross-system SQL+vector
AuthOpen WebUI built-inIAM Identity CenterEnterprise SSO requirement
Services2 (openwebui + fastapi+crewai)N microservicesTeam >5 engineers
CacheNoneValkey/ElastiCachePub/sub or session sharing
AnalyticsFile-based JSON/CSVS3 Tables (Iceberg)FinOps scan volume >1TB

Validation: npx playwright test --project=local — all containers HTTP 200

ADLC Components: /speckit.specify, /speckit.plan, remind-coordination hook, CLAUDE.md memory


Stage 2: AWS Test Environment (Wk 3-4)

Target: ECS Fargate staging, $45/month

ComponentGolden PathWhy
ComputeECS Fargate (not EKS)2 services don't need Kubernetes
StorageEFS ($6/mo)POSIX filesystem for SQLite + ChromaDB
IdentityIAM Identity Center (M1)AWS-native, free, SCIM 2.0
ContainerGraviton4 ARM64~30% better price-performance

Terraform Modules: M1 (IAM Identity Center) + M2 (ECS Fargate) — both PUBLISHED

Validation: terraform plan exit 0, checkov 0 FAILED, infracost ≤+5%


Stage 3: Production Golden Path (Wk 7-10)

Target: Full sovereign stack, $180/month

LayerTechnologyCostModule
L1 IdentityIAM Identity Center + SCIM 2.0FREEM1
L2 ComputeECS Fargate Graviton4 ARM64Incl. in $110M2
L3 EdgeCloudFront + WAFv2 + ALB + ACM$15-60M3
L4 DataSQLite + ChromaDB + EFS$6M4
L5 APIFastAPI + CrewAI + LiteLLM$25-50M3
L6 UIOpen WebUI 0.8+$45-85M3
Module Status

M3 (terraform-aws-web): WIP — Phase 4 deliverable (Wk 7-8) M4 (terraform-aws-efs): Gap — Phase 4-5 deliverable

Self-service Terraform deployment requires M3+M4 completion.

Validation: 4-way cross-validation ≤0.5% tolerance across 24 signals


Stage 3B: K3S Hybrid-Cloud Path (Optional BC2+)

Target: On-prem/IoT/multi-cloud — when ECS-only no longer covers requirements

# Option C Hybrid: ECS AI (Stream 1) + K3S DevOps GitOps (Stream 2)
# Activate only when triggers fire (see below)

# Local: K3D cluster for development
k3d cluster create xops-gitops --servers 1 --agents 2

# Production: K3S 3-node HA
# Uses 161-file IaC at DevOps-Terraform/tf-k3s
ComponentGolden PathAlternativeTrigger to Upgrade
GitOps engineGitHub ActionsArgoCD on K3SIaC PRs >5/week
IaC reviewManual PR reviewAtlantis on K3STeam >3 engineers
SecretsAWS Secrets ManagerVault HA on K3SOn-prem mandate
Multi-cloudAWS-onlyCrossplane on K3SSecond cloud provider
Edge computeN/AK3S ARM64 edge nodesIoT/on-prem mandate

Key principle: Stream 1 (ECS AI) and Stream 2 (K3S GitOps) are independent failure domains. Either can be activated, scaled, or decommissioned without affecting the other.

ADR: ADR-005 Hybrid Architecture | IaC: 161 files at DevOps-Terraform/tf-k3s

ADLC Components: Agent kubernetes-engineer, Commands /k3d:* + /k3s:*, Skills terraform/terraform-patterns


Upgrade Triggers

Every component starts at the golden path default. Upgrade only when a measurable trigger fires:

CurrentUpgradedTriggerHowCost Impact
SQLiteRDS PostgreSQL>50 concurrent writesMigration script + TF module+$20/mo
ChromaDBpgvectorCross-system SQL+vector searchCrewAI Knowledge config+$20/mo
Claude APIBedrock VPCSovereignty mandateLITELLM_MODEL env var~same
Open WebUI authKeycloakEnterprise SCIM pipelineOIDC env var+$0 (self-hosted)
File-based JSONS3 Tables (Iceberg)FinOps scan volume >1TBTerraform module add+$5/mo
2 servicesN microservicesTeam >5 engineersdocker-compose profilesvaries
ECS FargateEKS>6 services + service meshFull migration (not config change)+$73/mo
ECS onlyECS + K3S HybridOn-prem/IoT/multi-cloudActivate tf-k3s (161 files)+$0-190/mo
GitHub ActionsArgoCD on K3SIaC PRs >5/weekK3S + ArgoCD helm+$0-120/mo

Design Principle: "Start with framework defaults, let HITL add complexity." Every rejected alternative is documented in ADRs with the trigger condition for reconsideration.


Anti-Patterns (What NOT to Do)

Anti-PatternWhy It Fails at BC1Golden Path Instead
Start with EKS$73/mo control plane for 2 servicesECS Fargate (scale to EKS at >6 services)
Start with Aurora$43/mo min for <50 usersSQLite + EFS ($6/mo)
Start with KeycloakFull IdP is over-engineeringOpen WebUI built-in auth
Start with LangGraphAdds LangChain dependencyCrewAI (zero LangChain since 0.100+)
Start with Bedrock VPCVPC endpoint complexityClaude API direct via LiteLLM
Start with S3 TablesFile-based FinOps sufficient at BC1JSON/CSV in tmp/

Source: xops.jsx LAYERS[].whyNot[] arrays — 17 alternatives evaluated with rationale


Evidence

  • Source of truth: docs/src/pages/xops.jsx (LAYERS, COST_ENV, PHASES arrays)
  • PR/FAQ: xOps BC1 PR/FAQ
  • ADRs: Architecture Decision Records
  • Coordination logs: tmp/adlc-framework/coordination-logs/product-owner-2026-03-11-docs-expansion.json