From 3676d2b3db01548262a634f69a9ba54231755003 Mon Sep 17 00:00:00 2001 From: Ambroise Maupate Date: Thu, 2 Jun 2022 15:42:34 +0200 Subject: [PATCH] feat: add healthcheck config and traefik --- .env | 2 ++ config/packages/api_platform.yaml | 2 +- config/packages/roadiz_core.yaml | 2 ++ config/packages/security.yaml | 10 +++++++++- docker-compose.yml | 4 ++++ 5 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 94de8678..0895a78d 100644 --- a/.env +++ b/.env @@ -1,7 +1,9 @@ APP_DEBUG=1 APP_CACHE=0 APP_NAMESPACE=dev +APP_VERSION=0.1.0 APP_UNSPLASH_CLIENT_ID= +APP_HEALTH_CHECK_TOKEN= APP_TIMEZONE=Europe/Paris USER_UID=1000 diff --git a/config/packages/api_platform.yaml b/config/packages/api_platform.yaml index 1384cd44..9cf096f5 100644 --- a/config/packages/api_platform.yaml +++ b/config/packages/api_platform.yaml @@ -1,7 +1,7 @@ api_platform: title: "Roadiz development app" description: "Roadiz development app" - version: '0.1.0' + version: '%env(string:APP_VERSION)%' enable_swagger_ui: false enable_re_doc: true graphql: diff --git a/config/packages/roadiz_core.yaml b/config/packages/roadiz_core.yaml index ff8bb4ab..27842fab 100644 --- a/config/packages/roadiz_core.yaml +++ b/config/packages/roadiz_core.yaml @@ -1,5 +1,7 @@ roadiz_core: appNamespace: '%env(string:APP_NAMESPACE)%' + appVersion: '%env(string:APP_VERSION)%' + healthCheckToken: '%env(string:APP_HEALTH_CHECK_TOKEN)%' staticDomainName: ~ useNativeJsonColumnType: true security: diff --git a/config/packages/security.yaml b/config/packages/security.yaml index c50b818e..3e130b16 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -34,7 +34,15 @@ security: success_handler: lexik_jwt_authentication.handler.authentication_success failure_handler: lexik_jwt_authentication.handler.authentication_failure jwt: ~ - + # disables session creation for assets and healthcheck controllers + assets: + pattern: ^/assets + stateless: true + security: false + healthCheck: + pattern: ^/health-check$ + stateless: true + security: false main: lazy: true provider: all_users diff --git a/docker-compose.yml b/docker-compose.yml index b645baa9..c6508c5c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -139,6 +139,10 @@ services: - "traefik.http.services.${APP_NAMESPACE}.loadbalancer.server.scheme=http" - "traefik.http.services.${APP_NAMESPACE}.loadbalancer.server.port=80" - "traefik.http.services.${APP_NAMESPACE}.loadbalancer.passhostheader=true" + - "traefik.http.services.${APP_NAMESPACE}.loadbalancer.healthcheck.path=/health-check" + - "traefik.http.services.${APP_NAMESPACE}.loadbalancer.healthcheck.interval=5s" + - "traefik.http.services.${APP_NAMESPACE}.loadbalancer.healthcheck.timeout=3s" + - "traefik.http.services.${APP_NAMESPACE}.loadbalancer.healthcheck.headers.x-health-check=${APP_HEALTH_CHECK_TOKEN}" # Listen HTTP - "traefik.http.routers.${APP_NAMESPACE}.entrypoints=http" - "traefik.http.routers.${APP_NAMESPACE}.rule=Host(${HOSTNAME})"