Switch to runtime envsubst for JSON-based Keycloak and API URLs, update Dockerfile and entrypoint to support config injection.
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m47s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 7m9s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 2m51s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m45s

This commit is contained in:
2026-03-15 00:24:50 +01:00
parent a1bc7039cb
commit 65b4762f52
8 changed files with 389 additions and 32 deletions
@@ -28,10 +28,10 @@ suspend fun loadAppConfig(): AppConfig {
private fun fallbackFromGlobal(): AppConfig {
val apiBase = (js("globalThis.API_BASE_URL") as? String)
?.takeIf { it.isNotBlank() && !it.startsWith("{{") }
?.takeIf { it.isNotBlank() && !it.startsWith("\${") }
?: window.location.origin
val kcUrl = (js("globalThis.KEYCLOAK_URL") as? String)
?.takeIf { it.isNotBlank() && !it.startsWith("{{") }
?.takeIf { it.isNotBlank() && !it.startsWith("\${") }
console.log("[Config] Fallback: apiBaseUrl=$apiBase, keycloakUrl=$kcUrl")
return AppConfig(apiBaseUrl = apiBase, keycloakUrl = kcUrl)
}