What holding does
On a new project, an update switches traffic to the new version as soon as it is running. Holding an update for review keeps the current enclave serving production while the new version boots and gets its own review URL. Nothing changes for your users until you promote the held version. Updates inherit the project’s hold default unless explicitly overridden. Use it to check a release against production configuration before it takes traffic.How it works
Holding applies to blue/green updates: running CPU-only and single-GPU instances without persistent volumes. It is also available for instances selected by a project update. Initial creates and deploys of stopped or failed instances have no current version to keep serving and cannot be held. Multi-GPU updates and updates with persistent volumes stop the running enclave before deploying the new version, so they cannot be held either. The CLI’s--hold flag is available on update commands, not on create or deploy.
When the held version is running, the instance card shows Held · ready to promote with its review URL. Try it there, then choose Promote to switch production traffic to it, or Cancel update to discard it while the current version keeps serving.
If project-update preflight finds an eligible instance whose target release requires replacement, a requested hold returns HOLD_UNAVAILABLE before any instance is updated.
Setting a project default
Hold every update of a project for review by default:hold_by_default=false. Individual updates, edited-config updates, and batch project updates inherit the saved setting. An explicit --hold=true or --hold=false overrides it for one operation, without changing the project default:
Using the CLI
container get print the available review URL and a verified tinfoil http get
command pinned to the candidate’s repository and tag. Use that command for a one-off
request, or keep the review proxy above running and use another terminal:
curl does not verify attestation. --review refuses an unavailable
candidate instead of silently connecting to production. Keep any port in the returned
review URL; do not substitute the production domain or tag. Debug candidates still fail
attestation and must not receive sensitive data.
After checking the candidate, choose one action:
--mark-latest=false when initiating the update if you do not
want that effect. Cancel discards the candidate without switching production traffic.
