feat(2): enroll mattermost-lts (Q4.5) — recipe_meta (HTTP-native, self-contained postgres) + health_check (root + /api/v4/system/ping) + PARITY (no corpus → P2 vacuous; create-message §4.3 + P4 ops planned)

This commit is contained in:
2026-05-29 08:24:41 +01:00
parent 9df900d1cc
commit 8ce62c4fa6
3 changed files with 84 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
# Per-recipe harness config for mattermost-lts (Phase 2 Q4.5 — team chat / collaboration platform).
#
# Stack (compose.yml): app (mattermost/mattermost-team-edition) + postgres (postgres:15-alpine,
# bundled IN-STACK — NOT an external dep). HTTP-native: the app serves the web UI + REST API
# (/api/v4/...) at `/` through Traefik. No reference corpus under recipe-info/ → P2 (parity) is
# vacuously satisfied; coverage is ≥2 recipe-specific functional tests (P3) on the proven HTTP harness.
#
# Health: mattermost serves its web app at `/`. A fresh server with no users redirects `/` toward the
# setup/login flow (302) or serves the SPA shell (200); accept both. The dedicated liveness endpoint
# is GET /api/v4/system/ping -> {"status":"OK"} (exercised as a functional test, not the install gate).
HEALTH_PATH = "/"
HEALTH_OK = (200, 302)
# mattermost first-boot runs DB migrations against a fresh postgres volume; the default abra
# convergence TIMEOUT (300s) is tight on cc-ci's single node (postgres init + app migrate + plugin
# unpack). Bump, kept under DEPLOY_TIMEOUT so abra finishes its convergence wait before the Python
# subprocess timeout.
DEPLOY_TIMEOUT = 900
HTTP_TIMEOUT = 600
EXTRA_ENV = {"TIMEOUT": "600"}