variable "branch" {
description = "Git branch name"
type = string
}
computed "namespace" {
description = "Kubernetes namespace derived from the branch"
expression = lower(regexreplace(var.branch, "[^a-z0-9]", "-"))
}
task "deploy-preview" {
description = "Deploy a preview environment for this branch"
commands = [
"kubectl create namespace ${computed.namespace} --dry-run=client -o yaml | kubectl apply -f -",
"helm upgrade --install preview-${computed.namespace} ./chart --namespace ${computed.namespace}",
]
}