From 9d5789c5d7ef8e80f0727ca35ac236a15f70d5d3 Mon Sep 17 00:00:00 2001 From: Bjoern Runden Date: Tue, 29 Sep 2026 22:59:35 +0200 Subject: [PATCH] =?UTF-8?q?pkg=20f=C3=BCr=20traefik=20ist=20drin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index a0b5624..ce45d2a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,7 +9,16 @@ Maßgeblich ist aktuell [.ai/sultan-system-architecture.md](.ai/sultan-system-ar ## Projektstatus -Greenfield: Es existiert noch kein Go-Code, kein `go.mod`, keine Build-/Test-Toolchain. Build-, Lint- und Test-Befehle hier ergänzen, sobald sie existieren. +Frühe Phase: Go-Modul `sultan` (Go 1.25), bisher nur [pkg/traefik](pkg/traefik) – übersetzt flache `traefik.*`-Labels (`FromLabels`) in Traefiks dynamische Konfiguration, führt Knoten-Configs zusammen (`Merge`) und rendert JSON/YAML (`Marshal`) für `/v1/traefik-config`. Noch kein `main`/Subcommand. + +```bash +go vet ./... +go test -race ./... # alle Tests +go test -run TestFromLabels_Errors ./pkg/traefik # einzelner Test +go test -cover ./... +``` + +Middleware-Optionen werden bewusst als unveränderte Label-Strings in verschachtelten Maps durchgereicht (Traefik parst sie beim Einlesen wie Labels); nur Router- und Service-Felder sind typisiert. Nicht unterstützte Labels (TCP/UDP, unbekannte Attribute) liefern `ErrUnsupportedLabel` statt still ignoriert zu werden. ## Big Picture