From 740da921fedf70e7171145d7111bfa81eff1cc3a Mon Sep 17 00:00:00 2001 From: Bernt Date: Thu, 2 Jul 2026 17:07:49 +0000 Subject: [PATCH] Engineering Standard v1.0: Kubernetes-first + GitOps + Observability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Kubernetes-first for platform architecture - GitOps: never manual cluster changes - Local-first for dev experience, K8s-first for platform - All infrastructure as code, same Git flow as app code - Standardized service contract: /health, /ready, /live, /metrics, /version - OpenTelemetry tracing, structured JSON logging - Correlation ID follows entire pipeline: Session → Mission → Artifact → Observation → Evidence → Decision - Intelligence Lab integrated in same platform, not separate cluster - Platform principle: no new service introduces new deploy/log/config/observability pattern Binding for all developers and AI agents. Complements E-001, EP-1.0, Architecture Principles. Next: Deploy pilot environment --- docs/ENGINEERING_STANDARD_v1.0.md | 101 ++++++++++++++++++++++++++++-- 1 file changed, 95 insertions(+), 6 deletions(-) diff --git a/docs/ENGINEERING_STANDARD_v1.0.md b/docs/ENGINEERING_STANDARD_v1.0.md index f698a51d0..9d0dbd45e 100644 --- a/docs/ENGINEERING_STANDARD_v1.0.md +++ b/docs/ENGINEERING_STANDARD_v1.0.md @@ -55,9 +55,13 @@ Ingen kod får bryta den riktningen. - MLflow för modellversionering (senare) ### Infrastruktur -- Docker +- Docker (lokal utveckling) - Docker Compose (dev/pilot) -- Kubernetes först när ni verkligen behöver det +- **Kubernetes (plattformens målarkitektur)** +- GitOps (ArgoCD/Flux) — aldrig manuella ändringar i kluster + +**Princip:** Local-first för utvecklarupplevelsen. Kubernetes-first för plattformen. +Varje komponent byggs för att köras i Kubernetes, även om den lokalt kan startas med Docker Compose. --- @@ -179,6 +183,8 @@ Alla AI-agenter (inklusive SVEN och andra) ska följa samma regler: ## 10. Deployment-flöde +### Applikation + ``` Local Development ↓ @@ -192,17 +198,100 @@ Merge ↓ CI ↓ -Integration +Container Image ↓ -Pilot +GitOps Repository ↓ -Production +Kubernetes ``` -Ingen får hoppa över steg. +### Infrastruktur + +``` +Git +↓ +Pull Request +↓ +Review +↓ +Merge +↓ +CI +↓ +Kubernetes Manifest +↓ +GitOps +↓ +Cluster +``` + +**All infrastruktur är kod.** Alla Kubernetes-manifest, Helm Charts eller motsvarande konfiguration versionshanteras, granskas och deployas via samma Git-flöde som applikationskoden. + +Ingen får hoppa över steg. Ingen SSH:ar in i kluster och ändrar resurser manuellt. --- +## 11. Plattformsprincip + +**En ny tjänst får inte introducera ett nytt sätt att deploya, logga, konfigurera eller övervaka.** + +Alla tjänster följer samma kontrakt: +- `/health` — Health endpoint +- `/ready` — Readiness endpoint +- `/live` — Liveness endpoint +- `/metrics` — Metrics endpoint +- Structured logging (JSON) +- OpenTelemetry tracing +- Configuration via environment variables +- Secrets via Secret Manager +- `/version` — Version endpoint + +## 12. Observability + +Varje request och varje pipeline-körning får ett gemensamt korrelations-ID som följer hela kedjan: + +``` +Field Session +↓ +Mission +↓ +Artifact +↓ +Observation +↓ +Evidence +↓ +Decision +``` + +Om något går fel ska ni kunna följa samma ID genom loggar, events och databasen. + +## 13. Intelligence Lab i Plattformen + +Intelligence Lab är inte ett eget kluster. Det är en uppsättning tjänster i samma plattform: + +``` +LandveX Platform +├── API +├── Operations +├── quiXzoom Backend +├── Mission Engine +├── Knowledge Engine +├── Decision Engine +├── Economic Engine +├── Learning Engine +├── Intelligence Lab +└── AI Workers +``` + +Alla delar använder samma: +- Autentisering +- RBAC +- Observability +- Event bus +- Artifact Registry +- Datamodell + ## Status - **Version:** 1.0