wireguard-setup/terraform/main.tf

31 lines
790 B
Terraform
Raw Normal View History

2020-01-30 21:33:16 +01:00
provider "hcloud" {
token = var.hcloud_api_token
}
data "hcloud_image" "wg_image" {
with_selector = "service=wireguard"
2021-06-14 22:49:37 +02:00
most_recent = true
2020-01-30 21:33:16 +01:00
}
resource "hcloud_ssh_key" "wg_server_ssh_key" {
public_key = var.wg_server_ssh_publickey
2021-06-14 22:49:37 +02:00
name = var.wg_server_ssh_publickey_name
2020-01-30 21:33:16 +01:00
}
resource "hcloud_server" "wg_server" {
2021-06-14 22:49:37 +02:00
image = data.hcloud_image.wg_image.id
name = var.wg_server_name
2020-01-30 21:33:16 +01:00
server_type = var.wg_server_type
2021-06-14 22:49:37 +02:00
location = var.wg_server_location
2020-01-30 21:33:16 +01:00
labels = {
service = "wireguard"
}
ssh_keys = [
hcloud_ssh_key.wg_server_ssh_key.id
]
user_data = templatefile("${path.module}/templates/user-data.tpl", {
2021-06-14 22:49:37 +02:00
wg_server_own_privatekey = var.wg_server_own_privatekey
2020-01-30 21:33:16 +01:00
wg_server_peer_publickeys = var.wg_server_peer_publickeys
})
}