-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsrv_webforge.tf
46 lines (43 loc) · 1.24 KB
/
srv_webforge.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# System name: webforge
# Main FQDN: webforge.tahoe-lafs.org
# Provider: Hetzner
# OS: NixOS
# Description: Web-based collaborative version control server for Tahoe-LAFS
resource "hcloud_server" "webforge" {
name = "webforge"
server_type = "cx32"
image = "debian-12"
location = "hel1"
backups = true
labels = {
"env" : "prod"
"source" : "tf-tahoe-lafs-core"
}
ssh_keys = [for k in hcloud_ssh_key.ssh_keys : k.name]
user_data = <<EOF
#cloud-config
runcmd:
- curl https://raw.githubusercontent.com/elitak/nixos-infect/5ef3f953d32ab92405b280615718e0b80da2ebe6/nixos-infect | PROVIDER=hetznercloud NIX_CHANNEL=nixos-24.11 bash 2>&1 | tee /tmp/infect.log
EOF
# Wait for the ssh key(s)
depends_on = [
hcloud_ssh_key.ssh_keys
]
lifecycle {
ignore_changes = [
# Ignore changes to ssh_keys post installation
ssh_keys,
]
}
}
# System PTR records
resource "hcloud_rdns" "webforge_ipv4" {
server_id = hcloud_server.webforge.id
ip_address = hcloud_server.webforge.ipv4_address
dns_ptr = "webforge.tahoe-lafs.org"
}
resource "hcloud_rdns" "webforge_ipv6" {
server_id = hcloud_server.webforge.id
ip_address = hcloud_server.webforge.ipv6_address
dns_ptr = "webforge.tahoe-lafs.org"
}