ConfigMap
ConfigMaps enthalten nicht vertrauliche, umgebungsspezifische Konfiguration. Analog zu ETE sollen sie durch die Kustomize-Overlays aus versionierten Konfigurationsdateien erzeugt werden.
Frontend-ConfigMap
Die geplante ConfigMap bflies-frontend-cfg stellt eine zur Laufzeit geladene config.js bereit. Sie enthält beispielsweise:
- Basis-URL der Backend-API,
- Keycloak-URL, Realm und Client-ID,
- aktivierte Umgebung und sichtbare Umgebungskennzeichnung,
- nicht vertrauliche Feature- oder Darstellungsoptionen.
Die Datei wird in den Webserver-Container gemountet. Dadurch kann dasselbe Frontend-Image in INT und PROD verwendet werden, während die Konfiguration über das jeweilige Overlay getrennt bleibt.
Backend-ConfigMap
Die geplante ConfigMap bflies-backend-cfg enthält nicht vertrauliche Spring-Boot-Einstellungen:
- aktives Profil,
- Datenbankhost, Port und Schemaname ohne Zugangsdaten,
- Keycloak-Issuer und erlaubte Origins,
- Logging- und Actuator-Einstellungen,
- Mailserveradresse ohne Zugangsdaten.
Die Werte werden als Umgebungsvariablen oder als gemountete Spring-Konfiguration bereitgestellt.
Datenbank-ConfigMap
Die geplante ConfigMap bflies-mysql-cnf enthält die kontrollierte MySQL-Konfiguration, sofern vom Standardimage abweichende Einstellungen benötigt werden. Dazu können Zeichensatz, Kollation und Kompatibilitätsoptionen für die Migration der Legacy-Datenbank gehören.
Passwörter, Tokens und private Schlüssel sind in ConfigMaps ausdrücklich nicht zulässig.
yaml
apiVersion: v1
data:
my.cnf: |
[mysqld]
mysql_native_password=ON
kind: ConfigMap
metadata:
name: bflies-mysql-cnf
namespace: bflies-int