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, var.start_delay_seconds ] 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", "sleep ${self.triggers_replace[7]}" ] } 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" ] } }