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' }, ], }, ], }, }