129 lines
2.7 KiB
JSON
129 lines
2.7 KiB
JSON
{
|
|
"metadata": {
|
|
"actors": [
|
|
"Developer"
|
|
],
|
|
"adr_refs": [],
|
|
"backlog_refs": [],
|
|
"description": "Rolling upgrade with backup, health gates, and automatic rollback on failure",
|
|
"id": "upgrade-services",
|
|
"name": "Upgrade Management Services",
|
|
"requires_approval": true,
|
|
"tags": [
|
|
"upgrade",
|
|
"services",
|
|
"L3"
|
|
],
|
|
"triggers": {
|
|
"manual": true
|
|
}
|
|
},
|
|
"upgrade_services": {
|
|
"description": "Upgrade L3 services preserving data and connectivity",
|
|
"id": "upgrade-services",
|
|
"rollback": [
|
|
{
|
|
"depends_on": [],
|
|
"id": "restore-pg",
|
|
"on_error": "Continue",
|
|
"targets": [
|
|
{
|
|
"component": "postgresql",
|
|
"operation": "restore"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"steps": [
|
|
{
|
|
"depends_on": [],
|
|
"id": "backup-pg",
|
|
"on_error": "Stop",
|
|
"targets": [
|
|
{
|
|
"component": "postgresql",
|
|
"operation": "backup"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"depends_on": [
|
|
"backup-pg"
|
|
],
|
|
"id": "upgrade-pg",
|
|
"on_error": "Rollback",
|
|
"targets": [
|
|
{
|
|
"component": "postgresql",
|
|
"operation": "update"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"depends_on": [
|
|
"upgrade-pg"
|
|
],
|
|
"id": "upgrade-forgejo",
|
|
"on_error": "Rollback",
|
|
"targets": [
|
|
{
|
|
"component": "forgejo",
|
|
"operation": "update"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"depends_on": [
|
|
"upgrade-pg",
|
|
"upgrade-forgejo"
|
|
],
|
|
"id": "upgrade-woodpecker",
|
|
"on_error": "Rollback",
|
|
"targets": [
|
|
{
|
|
"component": "woodpecker",
|
|
"operation": "update"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"depends_on": [],
|
|
"id": "upgrade-zot",
|
|
"on_error": "Rollback",
|
|
"targets": [
|
|
{
|
|
"component": "zot",
|
|
"operation": "update"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"depends_on": [
|
|
"upgrade-forgejo",
|
|
"upgrade-woodpecker",
|
|
"upgrade-zot"
|
|
],
|
|
"id": "validate",
|
|
"on_error": "Continue",
|
|
"targets": [
|
|
{
|
|
"component": "postgresql",
|
|
"operation": "health"
|
|
},
|
|
{
|
|
"component": "forgejo",
|
|
"operation": "health"
|
|
},
|
|
{
|
|
"component": "woodpecker",
|
|
"operation": "health"
|
|
},
|
|
{
|
|
"component": "zot",
|
|
"operation": "health"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|