What shipped on OpenVibe.Host
Every change deployed to OpenVibe, newest first. Each line is a commit from the OpenVibers repositories, linked to the change itself. When enough have gathered, or a large feature lands, they are written up as Patch notes on openvibe.blog. JSON: /api/v1/changelog.
2026-09-24
d5fb2dcThe shared update system and one account UI, on the OpenVibe Frame (openvibe-shared 1.11.0, openvibe/frame): the home shows what shipped, /updates is the shared log and the footer links it; the shared navbar handles sign in and out…
25e6fc0Alert rules (Track O): deploy/prometheus/openvibe-rules.yml (target down 5 min, 5xx above 5% for 10 min, root disk under 10%, memory under 8%), loaded through rule_files in the rendered config; firing alerts at 127.0.0.1:9090/api/v1/alerts
22e9f1cTests follow Live's release layout (C-76): the example inventory's live entry reads /opt/openvibe.live/current as root with runAs ubuntu, and the live drill test's simulated host has the release unit and files under current/
6ff101eMetrics collection (Track O): scripts/prometheus-config.js renders a Prometheus scrape config from the host inventory (one loopback job per service port, declared extra processes such as the Tools satellites, node-exporter; metrics:false…
8b720dfC-76 retired: Live runs the release layout since 2026-09-24 05:51 UTC; inventory example reads Live's release (repo current, owner root, runAs ubuntu); Live drill row in the release layout
f7fdbccCI calls the shared test workflow (Track Q): OpenVibe.Shared test.yml@e8b0caf (install, node --check, npm test, openvibe-contracts-check; ffmpeg where the tests need it) instead of a copy of those steps
438b642Restore drills for AI, Games and Tools pass on the host (2026-09-24): AI's drill spec (AI_ENABLED=0, every provider key and seam blanked, no service secret, events or whisper; configuration counts) is new; Games' and Tools' reviewed specs…
f8ac37dDocs: ovhost deploys 20 services and runs the backups and drills (README said no deploy used it); cutover runbook gains the DNS steps (lower TTL a day ahead, record the old records, 30-minute watch, decommission after twice the old TTL)…
ff1c02eSECURITY.md: how to report a vulnerability ([email protected], 7-day reply, scope, supported versions)
2026-09-23
2144cebopenvibe-shared v1.5.1, openvibe-contracts v0.33.0
8e395ceRestore drills: live and media passed for the first time (2026-09-23 23:07 UTC; LIVE_DRILL/MEDIA_DRILL): integrity ok, compared endpoints identical, users 352, streams 2477, chat_messages 70864, media_objects 3056, vods 906, clips 315 all…
eaa226cRestore drills for live and media: both inventory entries are now drill-supported, relying on the products' own switches (LIVE_DRILL from OpenVibe.Live 8a58aea, MEDIA_DRILL from OpenVibe.Media 6e74eb0; drill.requires refuses an older…
315d852openvibe-shared v1.5.0 (Track R release manifest), openvibe-contracts v0.32.0, openvibe-sdk v0.5.0
f07216fRegister: C-84 done. Chat consumes live.release.deployed and folds deploy cards by head commit; proven on production 2026-09-23 (22:14 UTC one card via both paths, 22:18 UTC via the event alone); Live keeps the bridge hop only as the…
03dfcb3Register: C-73 steps 1-2 done (no Live reads or writes of the frozen tables, deployed); drop not before 2026-10-23
ea99b50Register: C-80 retired (analytics module in openvibe-shared 1.4.0, verified on production)
12067f6D41 proof passed on production (sources: deploy, rollback, redeploy; 37 other units untouched); register C-83 (media webhook → Events, both since 20:00 UTC), C-84 (deploy notice bridge), C-85 (go-live push → Network)
2bfc62dStage B launch readiness: threat review, launch release steps with verification and rollback, and the launch-rule evidence per item
0ff29d5Stage B abuse limits from the threat review: deploys stop before the shared disk fills, one person owns at most 10 projects, a takedown clears what the site left in visitors' browsers
cd2fc63D41 proof artifact: scripts/d41-proof.sh deploys, rolls back and redeploys one service through ovhost and proves from systemctl that every other unit kept its process (written and tested, not run on the host)
8575c91Restore drills for Tools and Games: one unit of a multi-unit service, data-directory databases, bind mounts for checkout-relative files, and a check that the deployed checkout has the drill switches
1e48cb2Stage B launch readiness: staff takedowns, bounded uploads, no CA validation files, realip-only nginx headers, a launch that removes the pending vhost in the same change
4276812CI: run the shared security workflow (gitleaks secret scan + dependency audit, Track Q)
82575b9Restore drills: openre passed (OPENRE_DRILL, first run)
ed7de69OpenRe on ovhost: workerUnits and a restore drill.
34d706cScheduled, root-only and off-host backups: ovhost backup --all (every service with databases, failure-isolated, 7 daily + 4 weekly retention, JSON run summary), encrypted off-host copies to S3-compatible storage (Node crypto AES-256-GCM…
5d5036fPending-tenant vhost: *.openvibe.host answers 404 over the wildcard certificate until Stage B launches (it fell through to nginx's default server)
4eb0435Register: C-73 step 1 done (Live f936ab3)
cfd4401W22 docs: C-58 and C-59 removed, C-73 step 1 in part; Games and Chat readiness now check their stores; inventory polls Games /api/ready
30f08d6ovhost release layout: current must resolve under releases/ and be owned by root or the checkout owner (OpenRe's deploy script installs releases as ubuntu, like every checkout on the host)
93f2de7ovhost: release-layout services (root-owned releases/<id> behind current, installed by their own deploy script) are validated by their current release instead of as a git checkout and are never managed; OpenRe uses it
f0dbd0cInventory: Network, Media and Tools are checked on /api/ready (not health); AI and OpenRe get entries (backups; drills not yet, with the reason); Tools backs up its three jobs.db (Wave 22 storage-state findings)
67db00aWave 22 operator docs: compatibility register, storage state, final cutover runbook
30592c0nginx: client address headers only from $remote_addr (realip). X-Forwarded-For was appended to and CF-Connecting-IP passed through from the client, so a request reaching the origin without Cloudflare (DNS-only host or the bare IP) chose…
3d7375bRefuse FedCM ID assertions as user tokens; cap archive unpacking at HOST_MAX_UNPACKED_BYTES
d96a09eRestore drills on the host: 18 services passed with ovhost drill (2026-09-23)
80d5522ovhost drill: restore drills (Wave 22)
2586be6Restore drill log: community restored from ovhost backup and matched production (2026-09-23)
9cdccaeopenvibe-contracts v0.24.0 (host.* released, contracts check blocking); STATUS/README: ovhost is installed on the host (read-only use)
a157b8fStage B docs, deploy and CI: README Stage B section (model, uploads, serving, API, events, grants, operator steps incl. DNS and the wildcard certificate; Stage C not started), STATUS, systemd unit, CI syntax check of server/ and a…
5512cf7ovhost nginx tenants: vhosts for the dashboard, *.openvibe.host and verified custom domains
cf7cfccStage B tenant static hosting: the Host API service on port 4910
fdab675CI: drop the stale placeholder note
6df4b11openvibe-contracts v0.10.0 (host manifest published); contracts check is a hard CI gate
538a940Stage A operator plane: ovhost validates, plans, deploys and rolls back the host's services without dropping live streams or recordings
2026-09-21
dec572aCharter: OpenVibe.Host as defined in the OpenVibe realignment plan (placeholder, no code yet)