Build and publish Eldorado documentation / build (pull_request) Successful in 29s
49 lines
3.4 KiB
JSON
49 lines
3.4 KiB
JSON
{
|
|
"schema_version": 2,
|
|
"diagram_type": "lifecycle",
|
|
"meta": {
|
|
"title": "Deployment Release Lifecycle",
|
|
"output": "examples/deployment-release.html",
|
|
"animation": "trace",
|
|
"visual_preset": "signal-flow",
|
|
"quality_profile": "showcase"
|
|
},
|
|
"lanes": [
|
|
{ "id": "main", "label": "Release phases" },
|
|
{ "id": "waiting", "label": "Approval + health wait" },
|
|
{ "id": "recovery", "label": "Rollback controller" },
|
|
{ "id": "terminal", "label": "Terminal exits" }
|
|
],
|
|
"states": [
|
|
{ "id": "queued", "type": "start", "label": "Queued", "sublabel": "change accepted", "lane": "main", "col": 0, "step": "01", "tag": "pending" },
|
|
{ "id": "building", "type": "active", "label": "Building", "sublabel": "immutable image", "lane": "main", "col": 1, "step": "02", "tag": "running" },
|
|
{ "id": "verifying", "type": "decision", "label": "Verifying", "sublabel": "tests + policy", "lane": "main", "col": 2, "step": "03", "tag": "gate" },
|
|
{ "id": "ready", "type": "waiting", "label": "Ready", "sublabel": "promotion pending", "lane": "main", "col": 3, "step": "04", "tag": "approved" },
|
|
{ "id": "live", "type": "success", "label": "Live", "sublabel": "production healthy", "lane": "main", "col": 4, "step": "05", "tag": "success" },
|
|
{ "id": "approval", "type": "waiting", "label": "Needs Approval", "sublabel": "release owner", "lane": "waiting", "col": 2, "tag": "pause" },
|
|
{ "id": "rollback", "type": "active", "label": "Rolling Back", "sublabel": "last good image", "lane": "recovery", "col": 3, "tag": "automatic" },
|
|
{ "id": "paused", "type": "waiting", "label": "Health Paused", "sublabel": "SLO regression", "lane": "waiting", "col": 4, "tag": "observe" },
|
|
{ "id": "cancelled", "type": "failure", "label": "Cancelled", "sublabel": "approval denied", "lane": "terminal", "col": 2, "tag": "terminal" },
|
|
{ "id": "failed", "type": "failure", "label": "Failed", "sublabel": "rollback failed", "lane": "terminal", "col": 3, "tag": "terminal" },
|
|
{ "id": "rolled_back", "type": "success", "label": "Rolled Back", "sublabel": "service restored", "lane": "terminal", "col": 4, "tag": "terminal" }
|
|
],
|
|
"transitions": [
|
|
{ "from": "queued", "to": "building" },
|
|
{ "from": "building", "to": "verifying" },
|
|
{ "from": "verifying", "to": "ready" },
|
|
{ "from": "ready", "to": "live" },
|
|
{ "from": "verifying", "to": "approval", "variant": "security", "label": "needs sign-off" },
|
|
{ "from": "approval", "to": "ready", "label": "approved" },
|
|
{ "from": "approval", "to": "cancelled", "variant": "security" },
|
|
{ "from": "ready", "to": "rollback", "variant": "security" },
|
|
{ "from": "rollback", "to": "failed", "variant": "security" },
|
|
{ "from": "live", "to": "paused", "variant": "dashed" },
|
|
{ "from": "paused", "to": "rolled_back", "variant": "emphasis" }
|
|
],
|
|
"cards": [
|
|
{ "dot": "cyan", "title": "Promotion Rail", "items": ["The release object moves through five ordered phases", "Verification and approval remain distinct states", "Live means production health is currently proven"] },
|
|
{ "dot": "amber", "title": "Wait States", "items": ["Human approval can pause without consuming a worker", "A health regression pauses further rollout", "Every wait exposes the event required to continue"] },
|
|
{ "dot": "rose", "title": "Explicit Endings", "items": ["Denied approval ends as Cancelled", "Rollback controller failure ends as Failed", "Successful rollback is a terminal restored outcome"] }
|
|
]
|
|
}
|