deploy: share portainer readiness defaults
This commit is contained in:
@@ -45,6 +45,12 @@ x-redis-session-env: &redis-session-env
|
|||||||
REDIS_USERNAME: ${REDIS_USERNAME:-}
|
REDIS_USERNAME: ${REDIS_USERNAME:-}
|
||||||
REDIS_PASSWORD: ${REDIS_PASSWORD:-}
|
REDIS_PASSWORD: ${REDIS_PASSWORD:-}
|
||||||
|
|
||||||
|
x-readiness-healthcheck: &readiness-healthcheck
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 60s
|
||||||
|
|
||||||
services:
|
services:
|
||||||
gb32960-ingest-app:
|
gb32960-ingest-app:
|
||||||
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/gb32960-ingest-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/gb32960-ingest-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
||||||
@@ -77,11 +83,8 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- vehicle-ingest
|
- vehicle-ingest
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
<<: *readiness-healthcheck
|
||||||
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20100/actuator/health/readiness >/dev/null"]
|
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20100/actuator/health/readiness >/dev/null"]
|
||||||
interval: 30s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 3
|
|
||||||
start_period: 60s
|
|
||||||
|
|
||||||
jt808-ingest-app:
|
jt808-ingest-app:
|
||||||
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/jt808-ingest-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/jt808-ingest-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
||||||
@@ -106,11 +109,8 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- vehicle-ingest
|
- vehicle-ingest
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
<<: *readiness-healthcheck
|
||||||
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20400/actuator/health/readiness >/dev/null"]
|
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20400/actuator/health/readiness >/dev/null"]
|
||||||
interval: 30s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 3
|
|
||||||
start_period: 60s
|
|
||||||
|
|
||||||
yutong-mqtt-app:
|
yutong-mqtt-app:
|
||||||
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/yutong-mqtt-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/yutong-mqtt-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
||||||
@@ -142,11 +142,8 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- vehicle-ingest
|
- vehicle-ingest
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
<<: *readiness-healthcheck
|
||||||
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20500/actuator/health/readiness >/dev/null"]
|
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20500/actuator/health/readiness >/dev/null"]
|
||||||
interval: 30s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 3
|
|
||||||
start_period: 60s
|
|
||||||
|
|
||||||
vehicle-history-app:
|
vehicle-history-app:
|
||||||
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/vehicle-history-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/vehicle-history-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
||||||
@@ -183,11 +180,8 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- vehicle-ingest
|
- vehicle-ingest
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
<<: *readiness-healthcheck
|
||||||
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20200/actuator/health/readiness >/dev/null"]
|
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20200/actuator/health/readiness >/dev/null"]
|
||||||
interval: 30s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 3
|
|
||||||
start_period: 60s
|
|
||||||
|
|
||||||
vehicle-analytics-app:
|
vehicle-analytics-app:
|
||||||
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/vehicle-analytics-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
image: crpi-85r4m0ackrm3qpje.cn-shanghai.personal.cr.aliyuncs.com/oneos/vehicle-analytics-app:${LINGNIU_IMAGE_VERSION:?set LINGNIU_IMAGE_VERSION}
|
||||||
@@ -213,11 +207,8 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- vehicle-ingest
|
- vehicle-ingest
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
<<: *readiness-healthcheck
|
||||||
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20300/actuator/health/readiness >/dev/null"]
|
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:20300/actuator/health/readiness >/dev/null"]
|
||||||
interval: 30s
|
|
||||||
timeout: 5s
|
|
||||||
retries: 3
|
|
||||||
start_period: 60s
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
vehicle-ingest:
|
vehicle-ingest:
|
||||||
|
|||||||
@@ -45,6 +45,12 @@ class PortainerComposeResourceLimitsTest {
|
|||||||
String dockerfile = Files.readString(repositoryRoot().resolve("Dockerfile"));
|
String dockerfile = Files.readString(repositoryRoot().resolve("Dockerfile"));
|
||||||
|
|
||||||
assertThat(dockerfile).contains("apt-get install -y --no-install-recommends curl");
|
assertThat(dockerfile).contains("apt-get install -y --no-install-recommends curl");
|
||||||
|
assertThat(compose)
|
||||||
|
.contains("x-readiness-healthcheck: &readiness-healthcheck\n"
|
||||||
|
+ " interval: 30s\n"
|
||||||
|
+ " timeout: 5s\n"
|
||||||
|
+ " retries: 3\n"
|
||||||
|
+ " start_period: 60s");
|
||||||
assertServiceReadinessHealthcheck(compose, "gb32960-ingest-app", "20100");
|
assertServiceReadinessHealthcheck(compose, "gb32960-ingest-app", "20100");
|
||||||
assertServiceReadinessHealthcheck(compose, "jt808-ingest-app", "20400");
|
assertServiceReadinessHealthcheck(compose, "jt808-ingest-app", "20400");
|
||||||
assertServiceReadinessHealthcheck(compose, "yutong-mqtt-app", "20500");
|
assertServiceReadinessHealthcheck(compose, "yutong-mqtt-app", "20500");
|
||||||
@@ -398,12 +404,13 @@ class PortainerComposeResourceLimitsTest {
|
|||||||
private static void assertServiceReadinessHealthcheck(String compose, String serviceName, String httpPort) {
|
private static void assertServiceReadinessHealthcheck(String compose, String serviceName, String httpPort) {
|
||||||
assertThat(serviceBlock(compose, serviceName))
|
assertThat(serviceBlock(compose, serviceName))
|
||||||
.contains(" healthcheck:\n")
|
.contains(" healthcheck:\n")
|
||||||
|
.contains(" <<: *readiness-healthcheck\n")
|
||||||
.contains(" test: [\"CMD-SHELL\", \"curl -fsS http://127.0.0.1:"
|
.contains(" test: [\"CMD-SHELL\", \"curl -fsS http://127.0.0.1:"
|
||||||
+ httpPort + "/actuator/health/readiness >/dev/null\"]")
|
+ httpPort + "/actuator/health/readiness >/dev/null\"]")
|
||||||
.contains(" interval: 30s\n")
|
.doesNotContain(" interval: 30s\n")
|
||||||
.contains(" timeout: 5s\n")
|
.doesNotContain(" timeout: 5s\n")
|
||||||
.contains(" retries: 3\n")
|
.doesNotContain(" retries: 3\n")
|
||||||
.contains(" start_period: 60s\n");
|
.doesNotContain(" start_period: 60s\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String serviceBlock(String compose, String serviceName) {
|
private static String serviceBlock(String compose, String serviceName) {
|
||||||
|
|||||||
Reference in New Issue
Block a user