2929# --set sentrius-keycloak.image.pullPolicy="Never" \
3030# --set sentrius-bad-ssh.image.pullPolicy="Never" \
3131
32+ # Load any previously generated password from .generated.env
33+ GENERATED_ENV_PATH=" ${SCRIPT_DIR} /../../.generated.env"
34+ if [[ -f " $GENERATED_ENV_PATH " ]]; then
35+ source " $GENERATED_ENV_PATH "
36+ fi
37+
38+ # Generate Keycloak DB password if not set and secret doesn't exist
39+ if [[ -z " $KEYCLOAK_DB_PASSWORD " ]]; then
40+ echo " 🔎 Checking if keycloak secret already exists..."
41+ if kubectl get secret " ${TENANT} -keycloak-secrets" --namespace " ${TENANT} " > /dev/null 2>&1 ; then
42+ echo " ✅ Found existing keycloak secret; extracting DB password..."
43+ KEYCLOAK_DB_PASSWORD=$( kubectl get secret " ${TENANT} -keycloak-secrets" --namespace " ${TENANT} " -o jsonpath=" {.data.db-password}" | base64 --decode)
44+
45+ if [[ -z " $KEYCLOAK_DB_PASSWORD " ]]; then
46+ echo " ❌ Secret exists but db-password is empty; exiting for safety"
47+ exit 1
48+ fi
49+ else
50+ echo " ⚠️ No existing secret found; generating new Keycloak DB password..."
51+ KEYCLOAK_DB_PASSWORD=$( head /dev/urandom | tr -dc A-Za-z0-9 | head -c 24)
52+
53+ # Persist it to .generated.env so it doesn't change between runs
54+ echo " KEYCLOAK_DB_PASSWORD=${KEYCLOAK_DB_PASSWORD} " > " $GENERATED_ENV_PATH "
55+ fi
56+ fi
57+
3258
3359helm upgrade --install sentrius ./sentrius-chart --namespace ${TENANT} \
3460 --set tenant=${TENANT} \
@@ -41,6 +67,7 @@ helm upgrade --install sentrius ./sentrius-chart --namespace ${TENANT} \
4167 --set integrationproxy.image.repository=" sentrius-integration-proxy" \
4268 --set integrationproxy.image.pullPolicy=" Never" \
4369 --set sentrius.image.repository=" sentrius" \
70+ --set keycloak.db.password=" ${KEYCLOAK_DB_PASSWORD} " \
4471 --set sentrius.image.pullPolicy=" Never" \
4572 --set keycloak.image.pullPolicy=" Never" \
4673 --set ssh.image.pullPolicy=" Never" \
0 commit comments