openvidu/openvidu-deployment/pro/elastic/azure/DOC-CHANGES-elastic-hardeni...

3.8 KiB

Elastic / Azure hardening — documentation changes

Target template: pro/elastic/azure/cf-openvidu-elastic.bicep (and its recompiled cf-openvidu-elastic.json).

This note lists the changes that the OpenVidu Elastic Azure hardening introduces in the public documentation. It is written for the openvidu.io repository, branch next.

No deployment parameters or template outputs changed. The set of Marketplace / ARM parameters and the createUiDefinition.json fields are identical to the previous version, so parameter tables, screenshots and step-by-step instructions in the docs do not need any edit. The only user-visible change is the expected deployment time.

1. Deployment time figure

File: docs/docs/self-hosting/elastic/azure/install.md

The template now installs the media node in parallel with the master node startup instead of serially after it:

  • Gate 1 (media install.sh) releases the media-node installation as soon as the master has published its secrets (ALL-SECRETS-GENERATED == "true"), so the heavy media-node work (apt, Azure CLI, Docker images, OpenVidu install) runs while the master is still starting.
  • Gate 2 (media user-data) blocks only the final systemctl start openvidu until the master is fully healthy (FINISH-MASTER-NODE == "true"), which is set only after the master passes its /health/caddy check.

As a result the end-to-end deployment is expected to be roughly 30-40% faster. The documentation currently states "7 to 12 minutes" in two places; both must be updated to the range measured with ov-cloud-tester.

Occurrence 1 — around line 95 ("Deploying the stack")

Before:

If correct, click on "Create" to start the deployment process (which will take about 7 to 12 minutes).

After (fill the placeholder with the ov-cloud-tester measurement):

If correct, click on "Create" to start the deployment process (which will take about X to Y minutes).

Occurrence 2 — around line 149 ("Configuration and administration")

Before:

When your Azure stack reaches the Succeeded status, it means that all resources have been created. You will need to wait about 7 to 12 minutes for the instances to install OpenVidu.

After (fill the placeholder with the ov-cloud-tester measurement):

When your Azure stack reaches the Succeeded status, it means that all resources have been created. You will need to wait about X to Y minutes for the instances to install OpenVidu.

[!NOTE] X to Y minutes is a placeholder. Replace it with the measured range once the hardened template has been validated with ov-cloud-tester. Both occurrences must use the same figure.

2. Template hardening (reviewer context, no doc text change)

These changes improve reliability and security but do not alter any documented parameter, output or procedure:

  • Bounded waits everywhere (Key Vault availability, application health, media gates) instead of unbounded while true loops, so a stuck boot fails fast instead of hanging.
  • Master health is now verified (check_app_ready.sh, capped at 1200 s) before the FINISH-MASTER-NODE signal is published, so media nodes never start against an unhealthy master.
  • Robust installer download (curl --retry 8 --retry-all-errors to a file plus a non-empty check) replaces piping a process substitution straight into sh, which could silently run an empty script on a transient network failure.
  • Blob-storage configuration retries az login + storage-key fetch for up to 300 s to absorb Contributor role-assignment propagation delay.
  • Boot scripts no longer run under bash -x, so secret values are no longer traced into the VM boot logs.

No action is required in the docs for section 2; it is included only so the documentation reviewer understands why the deployment-time figure changes.