44 lines
1.2 KiB
Terraform
44 lines
1.2 KiB
Terraform
# dev: Gitea + Runner + TraefikRunner (git.luke-else.co.uk, cicd.luke-else.co.uk)
|
|
resource "hcloud_server" "dev" {
|
|
name = "dev"
|
|
server_type = var.dev_server_type
|
|
image = var.server_image
|
|
location = var.location
|
|
ssh_keys = [data.hcloud_ssh_key.main.id]
|
|
firewall_ids = [hcloud_firewall.dev.id]
|
|
|
|
network {
|
|
network_id = hcloud_network.main.id
|
|
ip = var.dev_private_ip
|
|
}
|
|
|
|
depends_on = [hcloud_network_subnet.main]
|
|
}
|
|
|
|
# prod: Traefik, Websites, Database, Bitwarden, Misc, Tracking, Rustdesk
|
|
resource "hcloud_server" "prod" {
|
|
name = "prod"
|
|
server_type = var.prod_server_type
|
|
image = var.server_image
|
|
location = var.location
|
|
ssh_keys = [data.hcloud_ssh_key.main.id]
|
|
firewall_ids = [hcloud_firewall.prod.id]
|
|
|
|
network {
|
|
network_id = hcloud_network.main.id
|
|
ip = var.prod_private_ip
|
|
}
|
|
|
|
depends_on = [hcloud_network_subnet.main]
|
|
}
|
|
|
|
# vpn: OpenVPN + TraefikVPN. Not attached to the private network (see architecture.md).
|
|
resource "hcloud_server" "vpn" {
|
|
name = "vpn"
|
|
server_type = var.vpn_server_type
|
|
image = var.server_image
|
|
location = var.location
|
|
ssh_keys = [data.hcloud_ssh_key.main.id]
|
|
firewall_ids = [hcloud_firewall.vpn.id]
|
|
}
|