provisioning-catalog/components/docker_mailserver/cluster/manifest_plan.ncl

82 lines
3 KiB
Text
Raw Normal View History

let mp = import "schemas/lib/manifest_plan.ncl" in
{
manifest_plan | mp.ManifestPlan = {
init = [
{ file = "namespace", action = 'apply, skip_if_exists = true },
{ action = 'create-credentials' },
{ action = 'apply-tls-secret' },
{ file = "pvc-data", action = 'apply, skip_if_exists = true },
{ action = 'bootstrap-account' },
{ file = "dkim-rbac", action = 'apply },
{ file = "dkim-publisher-cm", action = 'apply },
{ file = "configmap-env", action = 'apply },
{ file = "deployment", action = 'apply },
{ action = 'tls-checksum-annotate' },
{ file = "lb-ipam-pool", action = 'apply, skip_if_exists = true },
{ file = "lb-ipam-pool-private", action = 'apply, skip_if_exists = true },
{ file = "service", action = 'apply },
{ file = "service-private", action = 'apply },
{ file = "service-gui", action = 'apply },
{ file = "dns-endpoint-static", action = 'apply },
{
action = 'wait-ready,
post = [
{ action = 'protect-volume, params = { pvc = "docker-mailserver-mail-data" } },
],
},
{
action = 'smtp-check,
delay = 10,
post = [
{ action = 'notify-redeploy,
params = { message = "docker-mailserver deployed to ${DMS_HOSTNAME}" } },
],
},
],
update = [
{ file = "dkim-rbac", action = 'apply, skip_if_exists = true },
{ file = "dkim-publisher-cm", action = 'apply },
{ file = "configmap-env", action = 'apply },
{ action = 'apply-tls-secret' },
{ file = "dns-endpoint-static", action = 'apply },
{ file = "lb-ipam-pool", action = 'apply },
{ file = "lb-ipam-pool-private", action = 'apply },
{ file = "service", action = 'recreate },
{ file = "service-private", action = 'recreate },
{ file = "service-gui", action = 'recreate },
{ file = "deployment", action = 'apply },
{ action = 'tls-checksum-annotate },
{
file = "deployment",
action = 'rollout-restart,
delay = 3,
post = [
{ action = 'wait-ready' },
{ action = 'smtp-check, delay = 10 },
{ action = 'notify-redeploy,
params = { message = "docker-mailserver updated on ${DMS_HOSTNAME}" } },
],
},
],
delete = [
{ file = "deployment", action = 'delete },
{ file = "service-private", action = 'delete },
{ file = "service", action = 'delete },
{ file = "service-gui", action = 'delete },
{ file = "configmap-env", action = 'delete },
{ file = "lb-ipam-pool-private", action = 'delete },
{ file = "lb-ipam-pool", action = 'delete },
],
restart = [
{
file = "deployment",
action = 'rollout-restart,
post = [
{ action = 'wait-ready' },
],
},
],
},
}