aYOUne
translate
Not in your language

This page is not yet available in en. You're reading the de version.

Environment Variables

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.