# Nicht-geheime Konfiguration. Geheimnisse (Passwoerter, API-Keys) gehoeren # in 02-secret.yaml (aus 02-secret.example.yaml kopiert), NIE hierher. apiVersion: v1 kind: ConfigMap metadata: name: wabenhain-config namespace: wabenhain data: # "postgresql" oder "mysql" — muss zum Service passen, den du unter # 03-postgres.yaml/03-mysql.yaml tatsaechlich ausrollst, UND zum # DATABASE_URL-Host in 02-secret.yaml. Ein einzelnes Image traegt beide # Prisma-Client-Varianten, siehe src/lib/prisma.ts. DATABASE_PROVIDER: "postgresql" NODE_ENV: "production" # Oeffentliche URL des Shops (fuer absolute Links in E-Mails/Sitemaps/CSP). # Muss zum "host" in 06-ingress.yaml passen, sonst zeigen Sitemap, # Canonical-Tags und jeder Link in jeder Bestellbestaetigung ins Leere. NEXT_PUBLIC_SITE_URL: "https://wabenhain.com" SMTP_PORT: "587" SMTP_FROM: "Wabenhain " # Optional, siehe README-Abschnitte "Google-Rezensionen"/"CAPTCHA" — leer # lassen, wenn nicht genutzt, die App faellt automatisch zurueck. # # Nur die Place-ID steht hier: sie ist oeffentlich, sie steckt in jeder # Google-Maps-Adresse des Eintrags. Der zugehoerige GOOGLE_PLACES_API_KEY # ist dagegen ein abrechenbarer Zugangsschluessel und liegt im Secret — # eine ConfigMap ist unverschluesselt und in der Cluster-Oberflaeche im # Klartext lesbar. GOOGLE_PLACE_ID: "" NEXT_PUBLIC_TURNSTILE_SITE_KEY: "" # Adresse der ApiCore-API fuer den Stammdaten-Sync (Ernten, Produkte, # Chargen — siehe src/lib/apicore-client.ts). Nur die URL; die Zugangsdaten # des Sync-Kontos liegen im Secret. APICORE_API_URL: "" # Threads fuer das Umrechnen hochgeladener Videos. Nicht gesetzt bedeutet 2. # NICHT ohne Not erhoehen: ffmpeg teilt sich das Speicherlimit dieses Pods # mit dem Node-Prozess, und jeder zusaetzliche Thread haelt eigene # Bildpuffer (bei 4K rund 12 MB je Bild). Siehe src/lib/video-transcode.ts. VIDEO_TRANSCODE_THREADS: "2" # "sandbox" bis DHL-Versandmarken getestet sind, danach "production". DHL_ENVIRONMENT: "sandbox" # Verzeichnis fuer hochgeladene Bilder (Inhalte-/Produkt-/Erntenfotos, # siehe app/api/admin/upload/route.ts) — MUSS exakt dem mountPath des # "uploads"-Volumes in 05-app-deployment.yaml entsprechen. Die App selbst # weiss nicht, was fuer ein Volume dort gemountet ist; siehe .env.example. UPLOAD_DIR: "/app/uploads"