From 269e88b82732ed926425fbd7d4a5eaad9d660ec4 Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Wed, 17 Apr 2024 15:40:31 +0200 Subject: [PATCH] Add /ping as a healthcheck --- example/images/lemonldap-ng/Dockerfile | 2 +- example/lemonldap-ng.nomad.hcl | 21 +++++++++++++-------- lemonldap-ng.nomad.hcl | 13 +++++++++++++ 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/example/images/lemonldap-ng/Dockerfile b/example/images/lemonldap-ng/Dockerfile index 6124979..0b458fc 100644 --- a/example/images/lemonldap-ng/Dockerfile +++ b/example/images/lemonldap-ng/Dockerfile @@ -1,4 +1,4 @@ -FROM danielberteaud/alma:9.24.3-1 +FROM danielberteaud/alma:9.24.4-1 MAINTAINER Daniel Berteaud ARG LLNG_VERSION=2.18.2 diff --git a/example/lemonldap-ng.nomad.hcl b/example/lemonldap-ng.nomad.hcl index 485ba01..bfaca36 100644 --- a/example/lemonldap-ng.nomad.hcl +++ b/example/lemonldap-ng.nomad.hcl @@ -6,13 +6,6 @@ job "lemonldap-ng" { priority = 60 - constraint { - operator = "distinct_hosts" - value = "true" - } - - - group "lemonldap-ng" { count = 1 @@ -76,6 +69,18 @@ job "lemonldap-ng" { } } + + check { + type = "http" + path = "/ping" + expose = true + interval = "30s" + timeout = "5s" + check_restart { + limit = 6 + grace = "5m" + } + } tags = [ "traefik.http.routers.lemonldap-ng-portal.rule=Host(`sso.example.org`) && !PathRegexp(`^/index\\.psgi/(config|sessions)`)", @@ -106,7 +111,7 @@ job "lemonldap-ng" { user = 1053 config { - image = "danielberteaud/wait-for:24.3-1" + image = "danielberteaud/wait-for:24.4-1" readonly_rootfs = true pids_limit = 20 } diff --git a/lemonldap-ng.nomad.hcl b/lemonldap-ng.nomad.hcl index 8acaaf1..c1d9af9 100644 --- a/lemonldap-ng.nomad.hcl +++ b/lemonldap-ng.nomad.hcl @@ -21,9 +21,22 @@ job "[[ .instance ]]" { [[ template "common/service_meta" $c ]] [[ template "common/connect" $c ]] + check { + type = "http" + path = "/ping" + expose = true + interval = "[[ $c.consul.check.interval ]]" + timeout = "[[ $c.consul.check.timeout ]]" + check_restart { + limit = 6 + grace = "5m" + } + } + [[- $p := merge .llng.portal . ]] [[- $m := merge .llng.manager . ]] [[- $a := merge .llng.api .llng.portal . ]] + tags = [ "[[ $p.traefik.instance ]].http.routers.[[ .instance ]]-portal[[ .consul.suffix ]].rule=Host(`[[ (urlParse $p.public_url).Hostname ]]`) && !PathRegexp(`^/index\\.psgi/(config|sessions)`)",