@@ -198,10 +198,28 @@ env_phase2_step1_commons_base() {
198198 # Clean uninstall if stale release exists (full cleanup: secrets + PVCs)
199199 clean_uninstall_release " $env_name " " $release_name " " full"
200200
201- # Recreate keycloak-client-manager secret (may have been deleted by full cleanup)
202- if [[ -n " $cm_pass " ]] && ! kubectl -n " $env_name " get secret keycloak-client-manager & > /dev/null; then
203- kubectl -n " $env_name " create secret generic keycloak-client-manager \
204- --from-literal=keycloak-client-manager-password=" $cm_pass " > /dev/null 2>&1 || true
201+ # Always ensure keycloak-client-manager secret exists before install.
202+ # It may have been deleted by full cleanup above, by a manual uninstall,
203+ # or may never have been created if phase 1 was skipped.
204+ if [[ -n " $cm_pass " ]]; then
205+ if kubectl -n " $env_name " get secret keycloak-client-manager & > /dev/null; then
206+ log_info " Secret 'keycloak-client-manager' already exists."
207+ else
208+ log_info " Creating secret 'keycloak-client-manager' in namespace '${env_name} '..."
209+ kubectl -n " $env_name " create secret generic keycloak-client-manager \
210+ --from-literal=keycloak-client-manager-password=" $cm_pass " || {
211+ log_error " Failed to create keycloak-client-manager secret" \
212+ " This secret is required by the commons chart" \
213+ " Check namespace and credentials"
214+ return 1
215+ }
216+ log_success " Secret 'keycloak-client-manager' created."
217+ fi
218+ else
219+ log_error " Keycloak client-manager password not available" \
220+ " Cannot create the required keycloak-client-manager secret" \
221+ " Set keycloak.client_manager_password in env config or check saved state"
222+ return 1
205223 fi
206224
207225 log_info " Chart: ${chart_ref} "
0 commit comments