repositories / bugabinga.net
bugabinga.net
personal infrastructure for bugabinga!
owned by admin
modules/klops/toad.tf
Rawlocals {
toad_source_hash = md5(join("", [
for f in fileset("${path.root}/services/toad", "**") : filesha256("${path.root}/services/toad/${f}")
]))
toad_quadlets_hash = md5(join("", [
for f in concat(
tolist(fileset("${path.root}/services/toad/deploy", "*.container")),
tolist(fileset("${path.root}/services/toad/deploy", "*.network")),
) : filesha256("${path.root}/services/toad/deploy/${f}")
]))
toad_enrollment_hash = filesha256("${path.module}/toad/enrollment.json")
toad_gateway_hash = md5(join("", [
filesha256("${path.root}/services/toad/deploy/gateway.Caddyfile"),
filesha256("${path.module}/toad/ingress.env"),
filesha256("${path.root}/assets/nugu.css"),
]))
toad_deployment_hash = md5(join("", [
filesha256("${path.root}/scripts/local/deploy-toad.sh"),
filesha256("${path.root}/scripts/local/build-remote-image.sh"),
filesha256("${path.root}/scripts/local/klops.sh"),
filesha256("${path.root}/scripts/remote/build-rootless-image.sh"),
filesha256("${path.root}/services/toad/deploy/setup-user.sh"),
filesha256("${path.root}/services/toad/deploy/start.sh"),
]))
}
resource "null_resource" "klops_toad" {
count = var.klops_ssh_host != "" ? 1 : 0
depends_on = [null_resource.klops_setup]
triggers = {
source_hash = local.toad_source_hash
quadlets_hash = local.toad_quadlets_hash
enrollment_hash = local.toad_enrollment_hash
gateway_hash = local.toad_gateway_hash
deployment_hash = local.toad_deployment_hash
deployment_logic = filesha256("${path.module}/toad.tf")
}
provisioner "local-exec" {
interpreter = ["/bin/bash", "-c"]
command = "${abspath(path.root)}/scripts/local/deploy-toad.sh ${var.klops_ssh_host} ${var.klops_ssh_port} ${var.klops_ssh_user} ${abspath(path.root)}/services/toad/deploy ${abspath(path.module)}/toad/enrollment.json ${abspath(path.root)}/services/toad/deploy/gateway.Caddyfile ${abspath(path.module)}/toad/ingress.env ${abspath(path.root)}/assets/nugu.css ${abspath(path.root)}/services/toad"
}
}