Files
cc-ci/tests/matrix-synapse/recipe_meta.py
autonomic-bot 83508656f9 fix(2): Q4.1 matrix-synapse — e2e now COLD GREEN after capacity unblock + admin-via-container
Capacity unblock (cc-ci RAM 4→8GB) cleared the deploy timeout. Additionally:

- recipe_meta.py: dropped ENABLE_REGISTRATION=true (synapse refuses to start without
  enable_registration_without_verification=true, which the recipe doesn't expose); kept
  TIMEOUT=900.
- functional/test_register_and_message.py: pivoted from public client-API register to the
  shared-secret admin endpoint called via container localhost () — bypasses the public router (where
  /_synapse/admin/* is not exposed), uses the abra-generated registration_shared_secret with
  HMAC-SHA1, doesn't require ENABLE_REGISTRATION.

Cold-verifiable on cc-ci (log /root/ccci-q41-matrix-r7.log):
  RECIPE=matrix-synapse STAGES=install,custom cc-ci-run runner/run_recipe_ci.py
  install + custom both PASS; deploy-count=1; 5 assertions PASS:
    - generic + cc-ci install overlay
    - federation_version (server.name=Synapse + non-empty version)
    - health_check (client/versions)
    - register_and_message (two users register, send/receive, marker round-trips)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 15:54:42 +01:00

17 lines
1.1 KiB
Python

# Per-recipe harness config for matrix-synapse (recipe #4 — DB + media store; the large-volume /
# DB-backed category). Base recipe = synapse `app` + postgres `db` + nginx `web`. server_name is
# DOMAIN (set by abra), so no EXTRA_ENV needed. Synapse + postgres startup is slow -> long timeouts.
HEALTH_PATH = "/_matrix/client/versions" # 200 JSON once synapse is serving the client API
HEALTH_OK = (200,)
DEPLOY_TIMEOUT = 600
HTTP_TIMEOUT = 600
# TIMEOUT=900 overrides the recipe's default 300s abra-deploy convergence timeout — synapse +
# postgres-autoupgrade cold-start frequently exceeds 300s on this host.
# NOTE: we do NOT set ENABLE_REGISTRATION=true here — synapse refuses to start with open
# registration unless `enable_registration_without_verification=true` is ALSO set, which the
# recipe does not expose as an env. The register-and-message test uses the shared-secret admin
# register endpoint via `exec_in_app` (curl localhost from inside the container) — that path
# bypasses the public router and does NOT require ENABLE_REGISTRATION to be true.
EXTRA_ENV = {"TIMEOUT": "900"}