Files
docker-compose-deploy/main.tf
T
2026-08-07 20:12:44 +02:00

46 lines
1.3 KiB
Terraform

resource "terraform_data" "docker_compose_deploy" {
triggers_replace = [
filemd5(var.docker_compose_path),
var.infisical_project_token,
var.environment,
var.vm_ssh_key,
var.vm_ip,
dirname(var.destination_path),
var.ssh_user
]
connection {
type = "ssh"
user = self.triggers_replace[6]
private_key = self.triggers_replace[3]
host = self.triggers_replace[4]
}
provisioner "file" {
source = var.docker_compose_path
destination = var.destination_path
}
provisioner "remote-exec" {
inline = [
"cd ${dirname(var.destination_path)}",
"export INFISICAL_TOKEN=\"${self.triggers_replace[1]}\"",
"export INFISICAL_API_URL=\"https://secrets.itlab-ffeks.dnu.edu.ua\"",
"export INFISICAL_DISABLE_UPDATE_CHECK=true",
"infisical run --env=\"${self.triggers_replace[2]}\" -- docker compose up -d"
]
}
provisioner "remote-exec" {
when = destroy
inline = [
"cd ${self.triggers_replace[5]}",
"export INFISICAL_TOKEN=\"${self.triggers_replace[1]}\"",
"export INFISICAL_API_URL=\"https://secrets.itlab-ffeks.dnu.edu.ua\"",
"export INFISICAL_DISABLE_UPDATE_CHECK=true",
"infisical run --env=\"${self.triggers_replace[2]}\" -- docker compose down || true"
]
}
}