Files
Wabenhain/k8s/02-secret.example.yaml
T
Nick Szaunig 4d3100e9ba
Docker Image bauen und veroeffentlichen / build-and-push (push) Failing after 1m33s
feat: Security CSRF Fix, Logout optimierung, Footer Anpassung, Rechtstexteanpassung
2026-09-03 13:51:50 +02:00

69 lines
3.2 KiB
YAML

# Vorlage OHNE echte Geheimnisse — analog zu .env.example. Kopieren nach
# 02-secret.yaml (per .gitignore ausgeschlossen, NIE committen), Werte
# ausfuellen, dann "kubectl apply -f k8s/02-secret.yaml".
#
# Alternative ohne Datei mit Klartext-Secrets auf der Platte:
# kubectl create secret generic wabenhain-secrets -n wabenhain \
# --from-literal=DATABASE_URL='postgresql://wabenhain:CHANGE-ME@wabenhain-postgres:5432/wabenhain?schema=public' \
# --from-literal=DB_PASSWORD='CHANGE-ME' \
# --from-literal=SESSION_SECRET="$(openssl rand -base64 32)" \
# --from-literal=ADMIN_EMAIL='[email protected]' \
# --from-literal=ADMIN_PASSWORD="$(openssl rand -base64 24 | tr -d '=+/' | head -c 28)" \
# --from-literal=STRIPE_SECRET_KEY='' \
# --from-literal=STRIPE_PUBLISHABLE_KEY='' \
# --from-literal=STRIPE_WEBHOOK_SECRET='' \
# --from-literal=SMTP_HOST='' --from-literal=SMTP_USER='' --from-literal=SMTP_PASSWORD='' \
# --from-literal=TURNSTILE_SECRET_KEY=''
apiVersion: v1
kind: Secret
metadata:
name: wabenhain-secrets
namespace: wabenhain
type: Opaque
stringData:
# Host "wabenhain-postgres" bzw. "wabenhain-mysql" passend zum Service aus
# 03-postgres.yaml/03-mysql.yaml waehlen; Port 5432 (Postgres) bzw. 3306
# (MySQL). Muss zu DATABASE_PROVIDER in 01-configmap.yaml passen.
# WICHTIG: das Passwort hier MUSS URL-encodiert sein (Sonderzeichen wie
# @ : / % # ? & sonst ungueltig bzw. falsch geparst) — DB_PASSWORD unten
# bleibt dagegen roh/unencodiert. Encodieren z.B. mit:
# node -e "console.log(encodeURIComponent('DEIN-PASSWORT'))"
DATABASE_URL: "postgresql://wabenhain:CHANGE-ME@wabenhain-postgres:5432/wabenhain?schema=public"
# Dasselbe Passwort wie oben in DATABASE_URL — wird vom Postgres-/MySQL-
# StatefulSet (je nachdem, welches du anwendest) zum Anlegen des
# Datenbank-Nutzers verwendet.
DB_PASSWORD: "CHANGE-ME"
# Mindestens 32 Zeichen, z.B.: openssl rand -base64 32
SESSION_SECRET: "CHANGE-ME-min-32-zeichen-zufaelliger-string"
# Unvorhersehbar waehlen (nicht "admin@..."), siehe README "Admin-Zugang" —
# sonst koennte sich jemand die erwartete Adresse vorregistrieren.
ADMIN_EMAIL: "[email protected]"
ADMIN_PASSWORD: "CHANGE-ME"
STRIPE_SECRET_KEY: ""
STRIPE_PUBLISHABLE_KEY: ""
STRIPE_WEBHOOK_SECRET: ""
SMTP_HOST: ""
SMTP_USER: ""
SMTP_PASSWORD: ""
TURNSTILE_SECRET_KEY: ""
# DHL-Versandmarken (Admin -> Bestellung -> "DHL-Versandmarke"), siehe
# .env.example fuer die vollstaendige Einrichtungsanleitung. Leer lassen,
# bis vorhanden — der Button zeigt dann "noch nicht konfiguriert" statt
# zu crashen.
DHL_API_KEY: ""
DHL_API_SECRET: ""
DHL_GKP_USERNAME: ""
DHL_GKP_PASSWORD: ""
DHL_ACCOUNT_NUMBER: ""
# Entra-ID-SSO ("Mit Microsoft anmelden"), siehe .env.example fuer die
# Einrichtung in Azure. ENTRA_REDIRECT_URI muss auf die echte, oeffentliche
# Domain zeigen (z.B. https://shop.example.com/api/auth/entra/callback).
ENTRA_TENANT_ID: ""
ENTRA_CLIENT_ID: ""
ENTRA_CLIENT_SECRET: ""
ENTRA_REDIRECT_URI: ""
# ApiCore-Ernten-Sync (Admin -> Ernten -> Sync), siehe .env.example.
APICORE_API_URL: ""
APICORE_SYNC_EMAIL: ""
APICORE_SYNC_PASSWORD: ""