Files
terraform/modules/hetzner_server/main.tf
T
renovate f9e47968dc
renovate/stability-days Updates have met minimum release age requirement
deps: update terraform hcloud to ~> 1.70.0
2026-10-09 06:11:56 +00:00

40 lines
959 B
Terraform

terraform {
required_version = ">= 1.0.0"
required_providers {
hcloud = { source = "hetznercloud/hcloud", version = "~> 1.70.0" }
}
}
locals {
# single naming scheme - propagates everywhere
ssh_key_name = "${var.project_name}-key"
firewall_name = "${var.project_name}-fw"
}
resource "hcloud_ssh_key" "this" {
name = local.ssh_key_name
public_key = var.ssh_public_key
}
resource "hcloud_firewall" "this" {
name = local.firewall_name
dynamic "rule" {
for_each = var.firewall_rules
content {
direction = rule.value.direction
protocol = rule.value.protocol
port = rule.value.port
source_ips = rule.value.source_ips
}
}
}
resource "hcloud_server" "this" {
name = var.project_name
image = var.hcloud_image
server_type = var.hcloud_server_type
location = var.hcloud_location
user_data = var.init_user_data
firewall_ids = [hcloud_firewall.this.id]
}