From 5ed33807d87827e111231cb7047769b9ca77d14b Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Thu, 9 Apr 2026 23:43:46 +0200 Subject: [PATCH] fix: use /api/v1/health for server health checks (not /actuator/health) The server's /actuator/health requires auth. The public health endpoint is /api/v1/health (same as compose-managed server's Docker HEALTHCHECK). Also increased health check retries/timeout and added startPeriod. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../siegeln/cameleer/saas/identity/ServerApiClient.java | 2 +- .../saas/provisioning/DockerTenantProvisioner.java | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/siegeln/cameleer/saas/identity/ServerApiClient.java b/src/main/java/net/siegeln/cameleer/saas/identity/ServerApiClient.java index 1f77a62..4a86390 100644 --- a/src/main/java/net/siegeln/cameleer/saas/identity/ServerApiClient.java +++ b/src/main/java/net/siegeln/cameleer/saas/identity/ServerApiClient.java @@ -76,7 +76,7 @@ public class ServerApiClient { @SuppressWarnings("unchecked") public ServerHealthResponse getHealth(String serverEndpoint) { try { - String url = serverEndpoint + "/actuator/health"; + String url = serverEndpoint + "/api/v1/health"; var resp = RestClient.create().get().uri(url) .header("Authorization", "Bearer " + getAccessToken()) .header("X-Cameleer-Protocol-Version", "1") diff --git a/src/main/java/net/siegeln/cameleer/saas/provisioning/DockerTenantProvisioner.java b/src/main/java/net/siegeln/cameleer/saas/provisioning/DockerTenantProvisioner.java index 35711c6..ee0852b 100644 --- a/src/main/java/net/siegeln/cameleer/saas/provisioning/DockerTenantProvisioner.java +++ b/src/main/java/net/siegeln/cameleer/saas/provisioning/DockerTenantProvisioner.java @@ -167,10 +167,11 @@ public class DockerTenantProvisioner implements TenantProvisioner { .withEnv(env) .withHostConfig(hostConfig) .withHealthcheck(new HealthCheck() - .withTest(List.of("CMD-SHELL", "wget -q -O- http://localhost:8081/actuator/health || exit 1")) + .withTest(List.of("CMD-SHELL", "curl -sf http://localhost:8081/api/v1/health || exit 1")) .withInterval(5_000_000_000L) - .withTimeout(3_000_000_000L) - .withRetries(12)) + .withTimeout(5_000_000_000L) + .withRetries(30) + .withStartPeriod(15_000_000_000L)) .exec(); // Connect to traefik network with DNS alias