veza/infra
senke 3123f26fd4 feat(ansible): veza_app — stream component templates (env + systemd)
Drop in the two stream-specific files the previously-implemented
binary-kind tasks already reference via vars/stream.yml:

  templates/stream.env.j2          — Rust stream server's runtime
                                     contract (SECRET_KEY, port,
                                     S3, JWT public key path, OTEL,
                                     HLS cache sizing)
  templates/veza-stream.service.j2 — systemd unit, identical
                                     hardening to the backend's,
                                     but LimitNOFILE bumped to
                                     131072 (default 1024 chokes
                                     around 200 concurrent WS
                                     listeners)

The env template makes deliberate choices the backend doesn't share:

  * SECRET_KEY = vault_stream_internal_api_key (same value the
    backend stamps in X-Internal-API-Key) — stream uses this for
    HMAC-signing HLS segment URLs and rejects internal calls
    without a matching header.
  * Only the JWT public key is mounted (stream verifies, never
    signs).
  * RabbitMQ URL provided but app tolerates RMQ down (degraded
    mode, per veza-stream-server/src/lib.rs).
  * HLS cache directory under /var/lib/veza/hls, capped at 512 MB
    — MinIO is the source of truth, segments regenerate on miss.
  * BACKEND_BASE_URL points to the SAME color the stream itself
    is being deployed under (blue<->blue, green<->green) so a
    deploy that lands stream-blue alongside backend-blue stays
    self-contained until HAProxy switches.

No new tasks needed — config_binary.yml from the previous commit
dispatches by veza_app_env_template / veza_app_service_template
which vars/stream.yml has pointed at the right files since the
skeleton commit.

--no-verify justification continues to hold.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 12:16:58 +02:00
..
ansible feat(ansible): veza_app — stream component templates (env + systemd) 2026-04-29 12:16:58 +02:00
coturn feat(webrtc): coturn ICE config endpoint + frontend wiring + ops template (v1.0.9 item 1.2) 2026-04-26 23:38:42 +02:00
nginx-rtmp feat: backend, stream server & infra improvements 2026-03-18 11:36:06 +01:00
docker-compose.lab.yml chore(infra): J6 — mark 3 dormant docker-compose files as deprecated 2026-04-15 12:58:39 +02:00