diff --git a/health-undeclared b/health-undeclared index ddb196b..c69be7a 100644 --- a/health-undeclared +++ b/health-undeclared @@ -1,4 +1,4 @@ -93 +70 The long-running resources of this catalogue that do not say how they are ready (`health`, novox/hq ADR 0240 rule 8), as `module check` counts them. It may only go down: merge-check.sh fails a change that raises it, and one that lowers it writes the new number on the first line. From 2026-11-18, or once it is 0, a long-running diff --git a/modules/baserow/module.json b/modules/baserow/module.json index 4b9c81d..f80fab3 100644 --- a/modules/baserow/module.json +++ b/modules/baserow/module.json @@ -82,6 +82,9 @@ "type": "container", "name": "baserow", "image": "baserow/baserow@sha256:263ea6c4b72c9eccabcd975ffe9fdebf23913a293a514bec6a3897a5e0a5a080", + "health": { + "kind": "runtime" + }, "network": "baserow", "env-file": [ "${dir:state}/server.env" diff --git a/modules/grafana/module.json b/modules/grafana/module.json index 9ebebb0..caa9047 100644 --- a/modules/grafana/module.json +++ b/modules/grafana/module.json @@ -91,6 +91,11 @@ "type": "container", "name": "grafana", "image": "grafana/grafana@sha256:ac461fb352abc50da10a51c7d02462e9c05488f11f53f14b3ad79a8145f638a0", + "health": { + "kind": "http", + "endpoint": "web", + "path": "/" + }, "ports": [ "3000" ], diff --git a/modules/mailu/module.json b/modules/mailu/module.json index 403373d..4ba4d89 100644 --- a/modules/mailu/module.json +++ b/modules/mailu/module.json @@ -368,6 +368,9 @@ "type": "container", "name": "mailu-resolver", "image": "ghcr.io/mailu/unbound@sha256:3a0fdfb364a63f4f9259526e013c1ef40f5f14de3621ce1560804b3a5909584a", + "health": { + "kind": "runtime" + }, "network": "mailu", "env-file": [ "${dir:state}/mailu.env", @@ -391,6 +394,9 @@ "type": "container", "name": "mailu-admin", "image": "ghcr.io/mailu/admin@sha256:6dbfdadc4a9590dcb7652357b505200115b689b74008653bbf369e4599a3be5a", + "health": { + "kind": "runtime" + }, "network": "mailu", "ports": [ "8080" @@ -412,6 +418,9 @@ "type": "container", "name": "mailu-imap", "image": "ghcr.io/mailu/dovecot@sha256:7f0ed5db996fbdc00adc5c5e38a08492e04f7eb4a9fbd66a03aa9a28ddf23993", + "health": { + "kind": "runtime" + }, "network": "mailu", "env-file": [ "${dir:state}/mailu.env" @@ -429,6 +438,9 @@ "type": "container", "name": "mailu-smtp", "image": "ghcr.io/mailu/postfix@sha256:e2e49f39e53b80eac9e7a2f18d9df11edeb4914fd62dbba89b3155e8e034f62e", + "health": { + "kind": "runtime" + }, "network": "mailu", "env-file": [ "${dir:state}/mailu.env" @@ -446,6 +458,9 @@ "type": "container", "name": "mailu-antispam", "image": "ghcr.io/mailu/rspamd@sha256:ff3666d8a61f17d309c5c6f6bcf4d40470b82299ca706ac650301175bb1a079d", + "health": { + "kind": "runtime" + }, "network": "mailu", "env-file": [ "${dir:state}/mailu.env" @@ -476,6 +491,9 @@ "type": "container", "name": "mailu-webmail", "image": "ghcr.io/mailu/webmail@sha256:bdbee44cdb05a4658f0e3b62cc448de55ca8f8aea172279fda594826144c04f6", + "health": { + "kind": "runtime" + }, "network": "mailu", "env-file": [ "${dir:state}/mailu.env", @@ -495,6 +513,9 @@ "type": "container", "name": "mailu-webdav", "image": "ghcr.io/mailu/radicale@sha256:690ed6edf189dfef100a5a8b37c195ebf5d9241ac5f23f2f44b8b7b75726e3de", + "health": { + "kind": "runtime" + }, "network": "mailu", "env-file": [ "${dir:state}/mailu.env", @@ -513,6 +534,9 @@ "type": "container", "name": "mailu-fetchmail", "image": "ghcr.io/mailu/fetchmail@sha256:f881c8412d3bbe73d638469b48321558d6403a9d45bfa043c1e52c752103d42d", + "health": { + "kind": "runtime" + }, "network": "mailu", "env-file": [ "${dir:state}/mailu.env", @@ -531,6 +555,9 @@ "type": "container", "name": "mailu-front", "image": "ghcr.io/mailu/nginx@sha256:36f98897cd1bc9d27628bbb4e04bdf60147af2ec7507d6da77f002c4f256896d", + "health": { + "kind": "runtime" + }, "network": "mailu", "env-file": [ "${dir:state}/mailu.env" diff --git a/modules/matrix/module.json b/modules/matrix/module.json index 6887b7a..eded5f6 100644 --- a/modules/matrix/module.json +++ b/modules/matrix/module.json @@ -120,6 +120,9 @@ "type": "container", "name": "element-web", "image": "vectorim/element-web@sha256:a8f415462ab8d2600a592ba1b92bea51efe5a4d10eb738aab9bed769f7099613", + "health": { + "kind": "runtime" + }, "network": "matrix", "ports": [ "80" diff --git a/modules/mongodb/module.json b/modules/mongodb/module.json index 0ee8c53..e204b86 100644 --- a/modules/mongodb/module.json +++ b/modules/mongodb/module.json @@ -116,6 +116,10 @@ "type": "container", "name": "mongodb-server", "image": "mongo@sha256:e3fa459b4f4b72f3257c67a23c145e250b8b5700f033860392c68539b998bbe3", + "health": { + "kind": "tcp", + "endpoint": "database" + }, "network": "mongodb", "env": { "MONGO_INITDB_ROOT_USERNAME": "root", diff --git a/modules/mosquitto/module.json b/modules/mosquitto/module.json index a9d5da1..afa4172 100644 --- a/modules/mosquitto/module.json +++ b/modules/mosquitto/module.json @@ -140,6 +140,10 @@ "type": "container", "name": "mosquitto", "image": "eclipse-mosquitto@sha256:38c0da4f2ef84284d47b3b3eeea1cb3bdeabe81ee10caf0cd5c5ff61ee3ea408", + "health": { + "kind": "tcp", + "endpoint": "mqtt" + }, "network": "mosquitto", "ports": [ "1883", diff --git a/modules/nodered/module.json b/modules/nodered/module.json index db2b27e..3bd4a55 100644 --- a/modules/nodered/module.json +++ b/modules/nodered/module.json @@ -82,6 +82,9 @@ "type": "container", "name": "nodered", "image": "nodered/node-red@sha256:a649dd711d55490151a2c39a8e48ad0c44325488fbc0e66315f2d2e19e5e1ace", + "health": { + "kind": "runtime" + }, "env": { "TZ": "Etc/UTC" }, diff --git a/modules/postgres/module.json b/modules/postgres/module.json index 1728406..b55ed74 100644 --- a/modules/postgres/module.json +++ b/modules/postgres/module.json @@ -121,6 +121,10 @@ "type": "container", "name": "postgres", "image": "pgvector/pgvector@sha256:cf134a767f474095eeba57e0117be8e568e011a63f33fbf252f14c9b760f8e6f", + "health": { + "kind": "tcp", + "endpoint": "database" + }, "env": { "POSTGRES_PASSWORD_FILE": "/run/secrets/superuser", "PGDATA": "/var/lib/postgresql/data/pgdata" diff --git a/modules/redis/module.json b/modules/redis/module.json index 5874aee..bdb344a 100644 --- a/modules/redis/module.json +++ b/modules/redis/module.json @@ -99,6 +99,10 @@ "type": "container", "name": "redis", "image": "redis@sha256:520775a41a63e77e06c73e35d2fd9cc15921a609516818796b4ecbb813078bc7", + "health": { + "kind": "tcp", + "endpoint": "cache" + }, "network": "redis", "ports": [ "6379" diff --git a/modules/step-ca/module.json b/modules/step-ca/module.json index 159ce47..a391a8b 100644 --- a/modules/step-ca/module.json +++ b/modules/step-ca/module.json @@ -72,6 +72,9 @@ "type": "container", "name": "step-ca", "image": "smallstep/step-ca@sha256:a2b17872915c193259b75a5474c398326f41bd199f0842093e52cf4182bc8270", + "health": { + "kind": "runtime" + }, "network": "host", "env-file": [ "${dir:mesh-state}/init.env" diff --git a/modules/supabase/module.json b/modules/supabase/module.json index 0fcb70d..0844244 100644 --- a/modules/supabase/module.json +++ b/modules/supabase/module.json @@ -359,6 +359,9 @@ "type": "container", "name": "supabase-db", "image": "supabase/postgres@sha256:ee29d0aaff03d0e12c7aa63437cba25f24246872f0ed3f82a9fd13184d780777", + "health": { + "kind": "runtime" + }, "network": "supabase", "args": [ "postgres", @@ -445,6 +448,9 @@ "type": "container", "name": "supabase-kong", "image": "kong@sha256:1b53405d8680a09d6f44494b7990bf7da2ea43f84a258c59717d4539abf09f6d", + "health": { + "kind": "runtime" + }, "network": "supabase", "ports": [ "8000" @@ -545,6 +551,9 @@ "type": "container", "name": "supabase-meta", "image": "supabase/postgres-meta@sha256:d0a96973e9f1b6303f7500421a459af3d7273b3f9f1db38610899f9f573da7c7", + "health": { + "kind": "runtime" + }, "network": "supabase", "env-file": [ "${dir:state}/meta-env.env" @@ -576,6 +585,9 @@ "type": "container", "name": "supabase-studio", "image": "supabase/studio@sha256:ebf492ba82db1fc9497f56e4cdebf5cddb464b61f6227e21c8f5f3693f9dbbc5", + "health": { + "kind": "runtime" + }, "network": "supabase", "env-file": [ "${dir:state}/studio-env.env" diff --git a/modules/website/module.json b/modules/website/module.json index 09c0797..8a30f76 100644 --- a/modules/website/module.json +++ b/modules/website/module.json @@ -42,6 +42,11 @@ "type": "container", "name": "website", "image": "registry-api.novox.be/novox/www@sha256:aa7ed20a293e1d7444c5c5d59b6d8bdb382bad159559a22e006810e379cae69c", + "health": { + "kind": "http", + "endpoint": "web", + "path": "/" + }, "network": "website", "ports": [ "8080"