feat(2): Q4.2 mumble — parity port (health/protocol-handshake/web) + 2 specific + P4 sqlite
- functional/_mumble_proto.py: stdlib Mumble TLS protocol client (adapted from corpus mumble_connect.py) - 3 parity ports: test_tcp_health, test_protocol_handshake (channel presence+ServerSync), test_web_client - 2 NEW recipe-specific (P3): welcome-text + max-users config round-trips over the protocol - P4: ops.py + test_backup/test_restore seed ci_marker in /data/mumble-server.sqlite (recipe's own backupbot DB), busy_timeout for live-server locks - test_install overlay: voice server listening on 64738 (beyond web-sidecar readiness) - recipe_meta: COMPOSE_FILE=compose.yml:mumbleweb:host-ports; WELCOME_TEXT/USERS markers - PARITY.md mapping table Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Per-recipe harness config for mumble (Phase 2 Q4.2 — a TCP/voice recipe, not HTTP-native).
|
||||
#
|
||||
# Mumble's voice server speaks its own TLS protocol on 64738 (no HTTP API). To fit cc-ci's
|
||||
# HTTP-readiness + on-host test model we deploy two recipe overlays:
|
||||
# - compose.mumbleweb.yml -> a mumble-web HTTP client routed through Traefik on the app domain,
|
||||
# giving the generic harness a real HTTP readiness/serving signal (HEALTH_PATH "/") AND the
|
||||
# web_client.py parity surface.
|
||||
# - compose.host-ports.yml -> publishes 64738 (tcp+udp) directly on the cc-ci host (mode: host).
|
||||
# Tests run on-host (cc-ci-run), so the protocol tests connect to 127.0.0.1:64738.
|
||||
# Both overlays are shipped by the upstream recipe; this is a documented deployment mode, not a fork.
|
||||
#
|
||||
# Distinctive config markers (read back by the recipe-specific functional tests, proving our config
|
||||
# actually propagated into the running server — version-independent, not hard-coded upstream values):
|
||||
# WELCOME_TEXT -> MUMBLE_CONFIG_WELCOMETEXT, surfaced in the ServerSync welcome_text.
|
||||
# USERS -> MUMBLE_CONFIG_USERS (max users), surfaced in the ServerConfig.max_users.
|
||||
|
||||
HEALTH_PATH = "/" # mumble-web client UI
|
||||
HEALTH_OK = (200,)
|
||||
DEPLOY_TIMEOUT = 900 # two images to pull (mumble-server + mumble-web) on a cold node
|
||||
HTTP_TIMEOUT = 300
|
||||
|
||||
# A unique, stable welcome-text marker the round-trip test asserts surfaces over the protocol.
|
||||
WELCOME_TEXT_MARKER = "cc-ci-mumble-welcome-7f3a9c"
|
||||
# A distinctive max-users value (not the recipe default 100) the server_config test asserts.
|
||||
MAX_USERS = 42
|
||||
|
||||
EXTRA_ENV = {
|
||||
"COMPOSE_FILE": "compose.yml:compose.mumbleweb.yml:compose.host-ports.yml",
|
||||
"WELCOME_TEXT": WELCOME_TEXT_MARKER,
|
||||
"USERS": str(MAX_USERS),
|
||||
}
|
||||
Reference in New Issue
Block a user