diff --git a/config/keycloak/default_realm.json b/config/keycloak/default_realm.json index b70fd37..15b42a7 100644 --- a/config/keycloak/default_realm.json +++ b/config/keycloak/default_realm.json @@ -40,7 +40,6 @@ "bruteForceProtected": false, "permanentLockout": false, "maxTemporaryLockouts": 0, - "bruteForceStrategy": "MULTIPLE", "maxFailureWaitSeconds": 900, "minimumQuickLoginWaitSeconds": 60, "waitIncrementSeconds": 60, diff --git a/docker/compose.yaml b/docker/compose.yaml index 47f6b39..4f73dff 100644 --- a/docker/compose.yaml +++ b/docker/compose.yaml @@ -40,30 +40,35 @@ services: condition: service_healthy auth: - image: bitnami/keycloak:26.2.5 + image: quay.io/keycloak/keycloak:26.2.5 container_name: auth env_file: - ../.env + command: ["start", "--import-realm"] volumes: - - ../config/keycloak:/opt/bitnami/keycloak/data/import + - ../config/keycloak:/opt/keycloak/data/import environment: - KEYCLOAK_HOSTNAME: ${KEYCLOAK_HOSTNAME:-http://localhost:9083} - KC_HTTP_PORT: 8080 - KC_CACHE: local - KEYCLOAK_ADMIN_USER: ${KC_BOOTSTRAP_ADMIN_USERNAME:-admin} - KEYCLOAK_ADMIN_PASSWORD: ${KC_BOOTSTRAP_ADMIN_PASSWORD:-admin} - KEYCLOAK_DATABASE_HOST: auth-db - KEYCLOAK_DATABASE_PORT: 5432 - KEYCLOAK_DATABASE_NAME: ${POSTGRES_DB:-keycloak} - KEYCLOAK_DATABASE_USER: ${POSTGRES_USER:-keycloak} - KEYCLOAK_DATABASE_PASSWORD: ${POSTGRES_PASS:-p@ssw0rd} - KEYCLOAK_ENABLE_HEALTH_ENDPOINTS: true - KEYCLOAK_EXTRA_ARGS: --import-realm + KC_HEALTH_ENABLED: ${KC_HEALTH_ENABLED:-true} + KC_METRICS_ENABLED: ${KC_METRICS_ENABLED:-true} + KC_DB_URL_HOST: auth-db + KC_DB_DATABASE: ${POSTGRES_DB:-keycloak} + KC_DB_USERNAME: ${POSTGRES_USER:-keycloak} + KC_DB_PASSWORD: ${POSTGRES_PASS:-p@ssw0rd} + KC_HOSTNAME: ${KC_HOSTNAME:-localhost} + KC_HTTP_ENABLED: ${KC_HTTP_ENABLED:-true} + KC_HOSTNAME_STRICT_HTTPS: ${KC_HOSTNAME_STRICT_HTTPS:-false} + KC_DB: ${KC_DB:-postgres} + TZ: ${TZ:-America/Argentina/Buenos_Aires} + KC_LOG_LEVEL: ${KC_LOG_LEVEL:-DEBUG} + KC_PROXY_HEADERS: ${KC_PROXY_HEADERS:-xforwarded} + KEYCLOAK_ADMIN: ${KEYCLOAK_ADMIN:-admin} + KEYCLOAK_ADMIN_PASSWORD: ${KEYCLOAK_ADMIN_PASSWORD:-adminpassword} healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:8080/"] + test: ["CMD-SHELL", "exec 3<>/dev/tcp/localhost/9000 && echo -e 'GET /health/ready HTTP/1.0\\r\\nHost: localhost\\r\\n\\r\\n' >&3 && grep -q '200 OK' <&3"] interval: 15s timeout: 5s - retries: 5 + retries: 10 + start_period: 40s ports: - "9083:8080" networks: @@ -72,6 +77,7 @@ services: depends_on: auth-db: condition: service_healthy + auth-db: image: postgres:17.5-alpine diff --git a/internal/ips/client/client.go b/internal/ips/client/client.go index fb6d927..930d263 100644 --- a/internal/ips/client/client.go +++ b/internal/ips/client/client.go @@ -68,7 +68,7 @@ func (c *IpsClient) GetIpsBundle(url string) (map[string]interface{}, error) { func (c *IpsClient) GetIpsICVP(idBundle string, immunizationId *string) (string, error) { // TODO: To be implemented by the participant - return nil, &errors.HttpError{ + return "", &errors.HttpError{ StatusCode: 500, Body: []map[string]interface{}{{"error": "Not implemented error", "message": "this method is not implemented yet"}}, Err: fmt.Errorf("failed to get document reference"),