# Per-recipe harness config for plausible (Phase 2 Q4.7 — analytics platform). # Requires SECRET_KEY_BASE (64+ char), DISABLE_AUTH, DISABLE_REGISTRATION env vars to deploy. # We use a fixed CI value for SECRET_KEY_BASE — safe for ephemeral per-run deploys. HEALTH_PATH = "/api/health" HEALTH_OK = (200,) # plausible's app starts before its clickhouse events DB is ready (the recipe's `app` depends_on lists # `events_db` but the service is named `plausible_events_db`, so swarm applies no ordering) and returns # 500 until clickhouse + DB migrations finish — several minutes on a cold deploy. The dedicated # /api/health endpoint returns 200 with {"clickhouse":"ok","postgres":"ok","sites_cache":"ok"} only # once both datastores are ready, so it is a true readiness probe; `/` is unreliable (500s during init, # 302s once ready, so it cannot distinguish "not ready" from "ready"). Give a wide HTTP window so the # health poll waits out that init. [v1 failed at HTTP_TIMEOUT=600 polling `/`.] DEPLOY_TIMEOUT = 1200 HTTP_TIMEOUT = 1200 # Phase-2: configure the recipe's required env (no placeholders allowed). EXTRA_ENV = { "DISABLE_AUTH": "true", "DISABLE_REGISTRATION": "true", # 64-char stable value for CI — plausible (Phoenix) requires >= 64 chars "SECRET_KEY_BASE": "ccciplausibletestkeybase64charsexactlyforCIephemeral4567890123", } # The upgrade tier defaults its base to recipe_versions[-2]. For the 3.1.0 upgrade PR the # published tags end [..., 3.0.0+v2.0.0, 3.0.1+v2.0.0], so [-2] picks 3.0.0 — whose clickhouse # entrypoint has no x86_64 ARCH mapping (added in 3.0.1): on amd64 it wgets the nonexistent # clickhouse-backup-linux-x86_64.tar.gz (HTTP 404), exits 1 silently (set -e + silenced wget) # and crash-loops, so the base deploy can NEVER converge on this host. The PR adds its version # ABOVE the newest published tag — the documented case where the correct base is [-1], the # newest published version. Pin it. UPGRADE_BASE_VERSION = "3.0.1+v2.0.0"