Operations / Releases & promotion
Releases & promotion
One immutable artifact history across static, compute, serverless, containers, and Compose.
{{message()}}
Total releases{{data().releases.length}}
Active{{data().releases.filter(v=>v.status==='active').length}}
Needs attention{{data().releases.filter(v=>['failed','awaiting_approval'].includes(v.status)).length}}
Pinned{{data().releases.filter(v=>v.pinned).length}}
No releases match this viewCreate a release from a verified artifact with the CLI or API.
{{current()?.status}}{{current()?.resource?.name}}
{{current()?.environment?.name}} · {{current()?.kind}} · {{current()?.strategy}}
Immutable identity
- Source commit
- {{current()?.sourceSha||'Not recorded'}}
- Artifact digest
- {{current()?.artifact?.digest}}
- Artifact URI
- {{current()?.artifact?.uri}}
- Config hash
- {{current()?.configHash}}
- Trigger / actor
- {{current()?.trigger}} · {{short(current()?.actorId)}}
- Duration
- {{duration(current())}}
- Provider versions
- {{JSON.stringify(current()?.transitions.at(-1)?.health||{})}}
- Provenance / attestation
- {{JSON.stringify({provenance:current()?.artifact?.provenance,attestation:current()?.artifact?.attestation})}}
Change and rollback preview
Artifact {{current()?.comparison.artifactChanged?'changed':'identical'}}Source {{current()?.comparison.sourceChanged?'changed':'identical'}}Config {{current()?.comparison.configChanged?'changed':'identical'}}Manifest {{current()?.comparison.manifestChanges.length}} change(s)
{{current()?.comparison.dataCaveat}}
Irreversible migration hooks are recorded. Traffic rollback will not restore data.
Activation steps & health
{{step.trafficPercent==null?'—':step.trafficPercent+'%'}}{{step.toStatus}}{{step.message}}
Strategy capability
{{cap.strategy}}{{cap.supported?'Available':'Unavailable'}}{{cap.explanation}}
{{cap.capacityMultiplier}}× capacity · {{cap.costImpact}} cost{{cap.rollback}}