Skip to content

Commit

Permalink
fix: Bento healthchecks + patch Keycloak version
Browse files Browse the repository at this point in the history
  • Loading branch information
davidlougheed committed Sep 26, 2024
1 parent 8cf02e3 commit 865fee5
Show file tree
Hide file tree
Showing 19 changed files with 97 additions and 44 deletions.
9 changes: 6 additions & 3 deletions etc/bento.env
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,11 @@ BENTO_AUTHZ_SERVICE_URL=${BENTOV2_PUBLIC_URL}/api/authorization/

BENTO_CORS_ORIGINS="${BENTOV2_PUBLIC_URL};${BENTOV2_PORTAL_PUBLIC_URL}"

BENTOV2_HEALTHCHECK_TIMEOUT=5s
BENTOV2_HEALTHCHECK_INTERVAL=5m
BENTO_HEALTHCHECK_TIMEOUT=5s
BENTO_HEALTHCHECK_INTERVAL=5m
# Faster interval for services while they're starting:
BENTO_HEALTHCHECK_START_PERIOD=75s
BENTO_HEALTHCHECK_START_INTERVAL=5s

BENTO_STD_SERVICE_INTERNAL_PORT=5000

Expand All @@ -44,7 +47,7 @@ BENTOV2_GATEWAY_CPUS=2

# - Keycloak IdP - 'auth'
BENTOV2_AUTH_IMAGE=ghcr.io/bento-platform/bento_keycloak_dist
BENTOV2_AUTH_VERSION=2024.06.03
BENTOV2_AUTH_VERSION=2024.09.26
BENTOV2_AUTH_CONTAINER_NAME=${BENTOV2_PREFIX}-auth
BENTO_AUTH_NETWORK=${BENTOV2_PREFIX}-auth-net
BENTOV2_AUTH_SERVICE_HOST=0.0.0.0
Expand Down
6 changes: 4 additions & 2 deletions lib/aggregation/docker-compose.aggregation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,10 @@ services:
cpu_shares: 512
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_AGGREGATION_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
aggregation-net:
Expand Down
12 changes: 8 additions & 4 deletions lib/auth/docker-compose.auth.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,10 @@ services:
cpu_shares: 512
healthcheck:
test: [ "CMD", "curl", "https://localhost:8443", "-k" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}
profiles:
- auth

Expand All @@ -53,8 +55,10 @@ services:
- ${BENTOV2_AUTH_VOL_DIR}:/var/lib/postgresql/data
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "${BENTO_AUTH_DB}", "-U", "${BENTO_AUTH_DB_USER}" ]
timeout: 5s
interval: 15s # Faster interval for auth-db, which auth requires to be healthy
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}
profiles:
- auth

Expand Down
12 changes: 10 additions & 2 deletions lib/authz/docker-compose.authz.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ services:
networks:
- authz-net
- authz-db-net
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTO_AUTHZ_INTERNAL_PORT}/service-info" ]
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

authz-db:
image: postgres:${BENTO_AUTHZ_DB_VERSION}
Expand All @@ -34,8 +40,10 @@ services:
- ${BENTO_AUTHZ_DB_VOL_DIR}:/var/lib/postgresql/data
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "${BENTO_AUTHZ_DB}", "-U", "${BENTO_AUTHZ_DB_USER}" ]
timeout: 5s
interval: 15s # Faster interval for authz-db, which authz requires to be healthy
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
authz-net:
Expand Down
6 changes: 4 additions & 2 deletions lib/beacon/docker-compose.beacon.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,10 @@ services:
cpu_shares: 512
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTO_BEACON_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}
profiles:
- beacon

Expand Down
6 changes: 4 additions & 2 deletions lib/drop-box/docker-compose.drop-box.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@ services:
cpu_shares: 1024
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_DROP_BOX_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
drop-box-net:
Expand Down
6 changes: 4 additions & 2 deletions lib/drs/docker-compose.drs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@ services:
cpu_shares: 512
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_DRS_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
drs-net:
Expand Down
6 changes: 4 additions & 2 deletions lib/event-relay/docker-compose.event-relay.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,10 @@ services:
cpu_shares: 512
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_EVENT_RELAY_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
event-relay-net:
Expand Down
6 changes: 4 additions & 2 deletions lib/gateway/docker-compose.gateway.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,10 @@ services:
"--resolve", "${BENTOV2_PORTAL_DOMAIN}:443:127.0.0.1",
"https://${BENTOV2_PORTAL_DOMAIN}"
]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}


# Lots of networks! Here, we have more or less one network per service, plus a few ones for databases
Expand Down
12 changes: 8 additions & 4 deletions lib/gohan/docker-compose.gohan.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@ services:
- ${BENTOV2_GOHAN_API_INTERNAL_PORT}
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_GOHAN_API_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}
depends_on:
- gohan-elasticsearch
profiles:
Expand All @@ -73,8 +75,10 @@ services:
- ${BENTO_GOHAN_ES_JVM_OPTIONS_DIR}:/usr/share/elasticsearch/config/jvm.options.d
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_GOHAN_ES_INTERNAL_PORT_1}" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}
profiles:
- gohan

Expand Down
11 changes: 7 additions & 4 deletions lib/katsu/docker-compose.katsu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,10 @@ services:
cpu_shares: 1024
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_KATSU_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}


katsu-db:
Expand All @@ -82,8 +84,9 @@ services:
cpu_shares: 1024
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "${BENTOV2_KATSU_DB}", "-U", "${BENTOV2_KATSU_DB_USER}" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: 15s # Faster interval for services which others may require to be healthy
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
drs-net:
Expand Down
2 changes: 1 addition & 1 deletion lib/logs/docker-compose.logs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ services:
expose:
- 3000
healthcheck:
test: [ "CMD", "curl", "-k", "https://localhost:3000"]
test: [ "CMD", "curl", "http://localhost:3000"]
timeout: 5s
interval: 15s
profiles:
Expand Down
6 changes: 4 additions & 2 deletions lib/notification/docker-compose.notification.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ services:
cpu_shares: 512
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_NOTIFICATION_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
notification-net:
Expand Down
4 changes: 3 additions & 1 deletion lib/public/docker-compose.public.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@ services:
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTO_PUBLIC_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}
profiles:
- public

Expand Down
6 changes: 4 additions & 2 deletions lib/redis/docker-compose.redis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@ services:
cpu_shares: 512
healthcheck:
test: [ "CMD", "redis-cli", "ping" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: 15s # Faster interval for services which others may require to be healthy
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
redis-net:
Expand Down
13 changes: 10 additions & 3 deletions lib/reference/docker-compose.reference.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ services:
volumes:
- ${BENTO_REFERENCE_TMP_VOL_DIR}:/reference/tmp
healthcheck:
test: [ "CMD", "wget", "-q0-", "http://localhost:${BENTO_REFERENCE_INTERNAL_PORT}/service-info", "&&", "echo" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
test: [ "CMD", "curl", "http://localhost:${BENTO_REFERENCE_INTERNAL_PORT}/service-info" ]
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

reference-db:
image: ${BENTO_REFERENCE_DB_IMAGE}:${BENTO_REFERENCE_DB_VERSION}
Expand All @@ -40,6 +41,12 @@ services:
- POSTGRES_DB=${BENTO_REFERENCE_DB_NAME}
volumes:
- ${BENTO_REFERENCE_DB_VOL_DIR}:/var/lib/postgresql/data
healthcheck:
test: [ "CMD", "pg_isready", "-q", "-d", "${BENTO_REFERENCE_DB_NAME}", "-U", "${BENTO_REFERENCE_DB_USER}" ]
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
reference-net:
Expand Down
6 changes: 4 additions & 2 deletions lib/service-registry/docker-compose.service-registry.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,10 @@ services:
cpu_shares: 256
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_SERVICE_REGISTRY_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
service-registry-net:
Expand Down
8 changes: 5 additions & 3 deletions lib/web/docker-compose.web.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ services:
cpus: ${BENTOV2_WEB_CPUS}
cpu_shares: 512
healthcheck:
test: [ "CMD", "wget", "-q0-", "http://localhost:${BENTOV2_WEB_INTERNAL_PORT}/service-info", "&&", "echo" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
test: [ "CMD", "curl", "http://localhost:${BENTOV2_WEB_INTERNAL_PORT}/service-info" ]
timeout: ${BENTO_HEALTHCHECK_TIMEOUT}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}

networks:
web-net:
Expand Down
4 changes: 3 additions & 1 deletion lib/wes/docker-compose.wes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ services:
healthcheck:
test: [ "CMD", "curl", "http://localhost:${BENTOV2_WES_INTERNAL_PORT}/service-info" ]
timeout: ${BENTOV2_HEALTHCHECK_TIMEOUT}
interval: ${BENTOV2_HEALTHCHECK_INTERVAL}
interval: ${BENTO_HEALTHCHECK_INTERVAL}
start_period: ${BENTO_HEALTHCHECK_START_PERIOD}
start_interval: ${BENTO_HEALTHCHECK_START_INTERVAL}
volumes:
- ${BENTOV2_WES_VOL_DIR}:/wes/data
- ${BENTOV2_WES_VOL_TMP_DIR}:/wes/tmp
Expand Down

0 comments on commit 865fee5

Please sign in to comment.