66 lines
2.2 KiB
Text
66 lines
2.2 KiB
Text
let w = import "../../../schemas/lib/workflow.ncl" in
|
|
|
|
{
|
|
deploy_services | w.WorkflowDef = {
|
|
id = "deploy-services",
|
|
description = "Deploy L3 management services after k0s is operational",
|
|
|
|
steps = [
|
|
{
|
|
id = "deploy-postgresql",
|
|
targets = [{ component = "postgresql", operation = "install" }],
|
|
condition = "k0s-status = operational; nfs-shared storage class exists",
|
|
on_error = 'Stop,
|
|
},
|
|
{
|
|
id = "deploy-forgejo",
|
|
targets = [{ component = "forgejo", operation = "install" }],
|
|
depends_on = ["deploy-postgresql"],
|
|
condition = "postgresql-status = operational",
|
|
on_error = 'Stop,
|
|
},
|
|
{
|
|
id = "deploy-woodpecker",
|
|
targets = [{ component = "woodpecker", operation = "install" }],
|
|
depends_on = ["deploy-postgresql", "deploy-forgejo"],
|
|
condition = "postgresql-status = operational; forgejo-status = operational",
|
|
on_error = 'Stop,
|
|
},
|
|
{
|
|
id = "deploy-zot",
|
|
targets = [{ component = "zot", operation = "install" }],
|
|
condition = "k0s-status = operational",
|
|
on_error = 'Stop,
|
|
},
|
|
{
|
|
id = "validate-all",
|
|
targets = [
|
|
{ component = "postgresql", operation = "health" },
|
|
{ component = "forgejo", operation = "health" },
|
|
{ component = "woodpecker", operation = "health" },
|
|
{ component = "zot", operation = "health" },
|
|
],
|
|
depends_on = ["deploy-forgejo", "deploy-woodpecker", "deploy-zot"],
|
|
on_error = 'Continue,
|
|
},
|
|
],
|
|
},
|
|
|
|
metadata | w.WorkflowMetadata = {
|
|
id = "deploy-services",
|
|
name = "Deploy Management Services",
|
|
description = "PostgreSQL + Forgejo + Woodpecker + Zot on k0s cluster mode",
|
|
tags = ["deploy", "services", "L3"],
|
|
actors = ['Developer, 'Agent],
|
|
fsm_dimension = "services-status",
|
|
notifications = {
|
|
subject_prefix = "workflow.deploy-services",
|
|
on_start = true,
|
|
on_step = true,
|
|
on_complete = true,
|
|
on_error = true,
|
|
},
|
|
backlog_refs = ["bl-001"],
|
|
triggers = { manual = true },
|
|
},
|
|
}
|