locals { pufferpanel_deployment_hash = md5(join("", concat([ for f in fileset("${path.root}/services/pufferpanel/deploy", "*") : filesha256("${path.root}/services/pufferpanel/deploy/${f}") ], [ filesha256("${path.root}/scripts/local/deploy-pufferpanel.sh"), filesha256("${path.root}/scripts/local/deploy-pufferpanel-caddy-ingress.sh"), filesha256("${path.root}/scripts/local/klops.sh"), filesha256("${path.root}/assets/pufferpanel/Nugu.tar"), ]))) } resource "null_resource" "klops_pufferpanel" { count = var.klops_ssh_host != "" ? 1 : 0 depends_on = [null_resource.klops_setup] triggers = { deployment_hash = local.pufferpanel_deployment_hash deployment_logic = filesha256("${path.module}/pufferpanel.tf") public_proxy_user = var.klops_ssh_user } provisioner "local-exec" { interpreter = ["/bin/bash", "-c"] command = "${abspath(path.root)}/scripts/local/deploy-pufferpanel.sh ${var.klops_ssh_host} ${var.klops_ssh_port} ${var.klops_ssh_user} ${abspath(path.root)}/services/pufferpanel/deploy" } } resource "null_resource" "klops_pufferpanel_caddy_ingress" { count = var.klops_ssh_host != "" ? 1 : 0 depends_on = [ null_resource.klops_pufferpanel, null_resource.klops_caddyfile, ] triggers = { deployment_hash = filesha256("${path.root}/scripts/local/deploy-pufferpanel-caddy-ingress.sh") deployment_logic = filesha256("${path.module}/pufferpanel.tf") public_proxy_user = var.klops_ssh_user } provisioner "local-exec" { interpreter = ["/bin/bash", "-c"] command = "${abspath(path.root)}/scripts/local/deploy-pufferpanel-caddy-ingress.sh ${var.klops_ssh_host} ${var.klops_ssh_port} ${var.klops_ssh_user}" } }