Luigit
repositories / bugabinga.net

bugabinga.net

personal infrastructure for bugabinga!

owned by admin

modules/klops/pufferpanel.tf

Raw
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}"
  }
}