{ "deploy_services": { "description": "Deploy L3 management services after k0s is operational", "id": "deploy-services", "rollback": [], "steps": [ { "condition": "k0s-status = operational; nfs-shared storage class exists", "depends_on": [], "id": "deploy-postgresql", "on_error": "Stop", "targets": [ { "component": "postgresql", "operation": "install" } ] }, { "condition": "postgresql-status = operational", "depends_on": [ "deploy-postgresql" ], "id": "deploy-forgejo", "on_error": "Stop", "targets": [ { "component": "forgejo", "operation": "install" } ] }, { "condition": "postgresql-status = operational; forgejo-status = operational", "depends_on": [ "deploy-postgresql", "deploy-forgejo" ], "id": "deploy-woodpecker", "on_error": "Stop", "targets": [ { "component": "woodpecker", "operation": "install" } ] }, { "condition": "k0s-status = operational", "depends_on": [], "id": "deploy-zot", "on_error": "Stop", "targets": [ { "component": "zot", "operation": "install" } ] }, { "depends_on": [ "deploy-forgejo", "deploy-woodpecker", "deploy-zot" ], "id": "validate-all", "on_error": "Continue", "targets": [ { "component": "postgresql", "operation": "health" }, { "component": "forgejo", "operation": "health" }, { "component": "woodpecker", "operation": "health" }, { "component": "zot", "operation": "health" } ] } ] }, "metadata": { "actors": [ "Developer", "Agent" ], "adr_refs": [], "backlog_refs": [ "bl-001" ], "description": "PostgreSQL + Forgejo + Woodpecker + Zot on k0s cluster mode", "fsm_dimension": "services-status", "id": "deploy-services", "name": "Deploy Management Services", "notifications": { "on_complete": true, "on_error": true, "on_start": true, "on_step": true, "subject_prefix": "workflow.deploy-services" }, "requires_approval": false, "tags": [ "deploy", "services", "L3" ], "triggers": { "manual": true } } }