aYOUne verwendet eine einzelne ConfigMap (ayoune in K8s, .env in Compose) für alle Services. Das macht das Multi-Service-Setup einfacher zu pflegen — eine Variable, die du einmal setzt, ist überall verfügbar.
Pflicht-Variablen
| Variable | Default | Beschreibung |
|---|---|---|
MONGO_URL |
— | MongoDB-Connection-String (Replicaset!) |
REDIS_URL |
— | Redis-Connection (redis://...) |
JWT_SECRET |
— | Min. 32 Zeichen, geheim |
AYOUNE_VERSION |
aktuelle | Plattform-Version (für Audit-Tagging) |
LICENSE_KEY |
trial | HMAC-SHA256 License-Key |
BASE_URL |
— | Public-Hostname (z.B. https://app.firma.tld) |
Optionale Foundation
| Variable | Default | Beschreibung |
|---|---|---|
MONGO_DB_NAME |
ayoune |
DB-Name innerhalb des Replicasets |
REDIS_DB |
0 | Redis-Logical-DB |
JWT_REFRESH_SECRET |
= JWT_SECRET |
Eigenes Secret für Refresh-Tokens |
JWT_ACCESS_TTL |
15m |
Access-Token Lebensdauer |
JWT_REFRESH_TTL |
30d |
Refresh-Token Lebensdauer |
STORAGE_TYPE |
gcs |
gcs / s3 / local |
STORAGE_BUCKET |
— | Bucket-Name |
Module-spezifisch
| Variable | Modul | Zweck |
|---|---|---|
OPENAI_API_KEY |
ai | Default LLM-Provider |
ANTHROPIC_API_KEY |
ai | Claude-Models |
STRIPE_SECRET_KEY |
payments | Stripe-Charges |
PAYPAL_CLIENT_ID |
payments | PayPal-Webhooks |
TWILIO_ACCOUNT_SID |
notifications | SMS / Voice |
SENDGRID_API_KEY |
notifications | Mail-Versand |
VAPID_PUBLIC / VAPID_PRIVATE |
notifications | Web-Push |
GOOGLE_CLOUD_PROJECT |
infrastructure | GCP-Auth |
AYOUNE_WORKER_PROBE_PORT |
core | Worker-Probe-Port (default 3000) |
AYOUNE_RELEASE_NAME |
core | Scope-Name für registerModuleStates |
Service-Discovery
Im K8s-Setup verbinden sich Services intern via DNS — kein extra Setup nötig:
api-crm.develop.svc.cluster.local:3000
Im Compose-Setup nutzt jedes Service den Namen aus docker-compose.yml:
api-crm:3000
CORS
| Variable | Default | Beschreibung |
|---|---|---|
CORS_ORIGIN_OVERRIDE |
— | Komma-Liste zusätzlicher Origins (überspringt aYOUneCustomers.allowedOrigins[]) |
CORS_ALLOW_CREDENTIALS |
true |
Access-Control-Allow-Credentials |
Boot-Watchdog
Seit Core 2026.46.0 killt ein 60s-Boot-Watchdog Pods, deren essentielle Init-Phase (DB + Models + License) nicht durchläuft. Tuning:
AYOUNE_BOOT_WATCHDOG_MS=60000 # default
AYOUNE_BOOT_WATCHDOG_DISABLED=false
Background-Subsysteme (Logger, JobQ, Monitoring) blocken ay.ready nicht — Probleme dort tauchen als subsystem_error auf, nicht als Crash.
Secrets via External-Secret-Manager
Statt Plain-Text-Secrets in Compose/Helm:
- GKE: Secret-Manager mit Workload-Identity
- Hetzner: HCP Vault Secrets oder bitwarden secrets
- AWS: Secrets Manager
Die ConfigMap enthält dann nur Referenzen, kein Klartext.
Siehe auch: Docker-Compose, Kubernetes, Upgrades.