fix aiflow-keycloak problem

This commit is contained in:
2026-10-11 20:10:01 +07:00
parent 9f454b6e8e
commit 9ddc4f0585
3 changed files with 29 additions and 7 deletions
+21 -5
View File
@@ -216,11 +216,11 @@ fi
# ─── 0j. Verifikasi Keycloak lengkap (verify-keycloak.sh) ────────────────────
vk="${DEPLOY_DIR}/scripts/verify-keycloak.sh"
if [[ -x "${vk}" ]] && bash -n "${vk}" 2>/dev/null \
&& grep -q 'client_credentials' "${vk}" && grep -q 'redirectUris' "${vk}" \
&& grep -q 'publicClient' "${vk}" && grep -q 'origin host' "${vk}" \
&& grep -q 'kc_auth_probe' "${vk}" && grep -q 'password masih DEFAULT' "${vk}"; then
ok "verify-keycloak.sh: realm/roles/client(redirectUri origin-host,secret,publicClient)/user/password-default + fungsional"
if [[ -x "${vk}" ]] && bash -n "${vk}" 2>/dev/null \
&& grep -q 'client_credentials' "${vk}" && grep -q 'redirectUris' "${vk}" \
&& grep -q 'publicClient' "${vk}" && grep -q 'origin host' "${vk}" \
&& grep -q 'kc_auth_probe' "${vk}" && grep -q 'password masih DEFAULT' "${vk}"; then
ok "verify-keycloak.sh: realm/roles/client(redirectUri origin-host,secret,publicClient)/user/password-default + fungsional"
else
bad "verify-keycloak.sh hilang/tidak lengkap"
fi
@@ -357,6 +357,22 @@ else
bad "eksternal URL penuh belum didukung (wire=${_uo} parse=${_uo_parse} gen=${_uo_gen})"
fi
# ─── 0p. Origin client 'airflow' pakai AIRFLOW_WEBSERVER_HOST ─────────────────
# Regresi: memakai `AIRFLOW_HOST` (penanda komponen external, SENGAJA tak diisi
# generator) → _comp_addr/comp_addr jatuh ke SICABE_HOST_ADDRESS (alamat host LOKAL),
# sehingga di host non-pemilik (compute/state) origin jadi alamat host ITU, bukan
# alamat control pemilik airflow → verify-keycloak FAIL "belum terdaftar di client".
_ap=1
grep -q '\[airflow\]="http AIRFLOW_WEBSERVER_HOST' "${DEPLOY_DIR}/scripts/verify-keycloak.sh" || _ap=0
grep -q '\["airflow"\]="http AIRFLOW_WEBSERVER_HOST' "${DEPLOY_DIR}/bootstrap.sh" || _ap=0
grep -q '\[airflow\]="http AIRFLOW_HOST ' "${DEPLOY_DIR}/scripts/verify-keycloak.sh" && _ap=0
grep -q '\["airflow"\]="http AIRFLOW_HOST ' "${DEPLOY_DIR}/bootstrap.sh" && _ap=0
if [[ "${_ap}" == "1" ]]; then
ok "client origin airflow: pakai AIRFLOW_WEBSERVER_HOST (verify-keycloak + bootstrap)"
else
bad "client origin airflow masih pakai AIRFLOW_HOST (origin salah di host non-pemilik)"
fi
# ─── 1. generate ────────────────────────────────────────────────────────────
if ! python3 "${DEPLOY_DIR}/lib/cluster/generate.py" render \
"${INVENTORY}" "${DEPLOY_DIR}/docker-compose.yml" "${DEPLOY_DIR}/.env" \