beeta/devops/terraform/modules/jump_host/main.tf
2026-01-05 22:54:27 -05:00

39 lines
1.1 KiB
HCL

# =============================================================================
# Jump Host (Bastion) Droplet
# =============================================================================
data "cloudinit_config" "jump_host" {
gzip = false
base64_encode = false
part {
content_type = "text/cloud-config"
content = templatefile("${path.module}/cloud-init.yaml.tpl", {
ssh_port = var.ssh_port
vpc_ip_range = var.vpc_ip_range
internal_private_key = var.internal_private_key
})
}
}
resource "digitalocean_droplet" "jump_host" {
name = "${var.project_name}-jump-${var.environment}"
size = var.droplet_size
image = var.droplet_image
region = var.region
vpc_uuid = var.vpc_uuid
ssh_keys = var.ssh_keys
backups = var.enable_backups
monitoring = true
ipv6 = true
user_data = data.cloudinit_config.jump_host.rendered
tags = var.tags
lifecycle {
create_before_destroy = false
ignore_changes = [user_data] # Don't recreate on cloud-init changes
}
}