Files
infrastructure/tf-stage1/archlinux.tf
Christian Heusel 9c21210cc3 Bump the disk size of debuginfod.archlinux.org
The disk had run full and nobody fixed the alert in time, hence
resulting in no further debug info being ingested.

Fixes https://gitlab.archlinux.org/archlinux/packaging/packages/chromium/-/work_items/90

Signed-off-by: Christian Heusel <christian@heusel.eu>
2026-08-23 18:32:55 +02:00

840 lines
26 KiB
Terraform

terraform {
backend "pg" {
schema_name = "terraform_remote_state_stage1"
}
}
data "external" "vault_hetzner" {
program = [
"${path.module}/../misc/get_key.py", "${path.module}/../misc/vaults/vault_hetzner.yml",
"hetzner_cloud_api_key",
"hetzner_dns_api_key",
"--format", "json"
]
}
data "external" "vault_hetzner_s3" {
program = [
"${path.module}/../misc/get_key.py", "${path.module}/../group_vars/all/vault_hetzner_s3.yml",
"vault_hetzner_s3_gitlab_runners_access_key",
"vault_hetzner_s3_gitlab_runners_secret_key",
"--format", "json"
]
}
data "hcloud_image" "archlinux" {
with_selector = "custom_image=archlinux"
most_recent = true
with_status = ["available"]
}
provider "hcloud" {
token = data.external.vault_hetzner.result.hetzner_cloud_api_key
}
provider "minio" {
minio_server = "fsn1.your-objectstorage.com"
minio_user = data.external.vault_hetzner_s3.result.vault_hetzner_s3_gitlab_runners_access_key
minio_password = data.external.vault_hetzner_s3.result.vault_hetzner_s3_gitlab_runners_secret_key
minio_region = "fsn1"
minio_ssl = true
}
resource "minio_s3_bucket" "gitlab_runners_cache" {
bucket = "archlinux-gitlab-runners-cache"
acl = "private"
object_locking = false
}
resource "minio_ilm_policy" "gitlab_runners_cache_expiry" {
bucket = minio_s3_bucket.gitlab_runners_cache.bucket
rule {
id = "expire-14d"
status = "Enabled"
expiration = "14d"
}
}
locals {
# These are the Hetzner Cloud VPSes.
# Every entry creates:
# - the machine
# - the rdns entries
# - A and AAAA entries
#
# Valid parameters are:
# - server_type (mandatory)
# - domain (optional, creates dns entry <domain>.archlinux.org pointing to the machine)
# - ttl (optional, applies to the dns entries)
# - zone (optional, required for pkgbuild.com machines)
# - ipv4_enabled (optional, set to false to create an IPv6-only server)
# - location (optional, defaults to 'fsn1')
# - floating_ipv4 (optional, creates an additional ipv4 floating address for the server)
# - floating_ipv6 (optional, creates an additional ipv6 floating address for the server)
#
# Example:
# "archlinux.org" = {
# server_type = "cx23"
# domain = "@"
# ttl = 3600
# }
machines = {
"accounts.archlinux.org" = {
server_type = "cx23"
domain = "accounts"
location = "hel1"
}
"archlinux.org" = {
server_type = "cpx32"
# reserve IPv6 address as static target for the HAproxy ADN service
floating_ipv6 = true
location = "hel1"
}
"aur.archlinux.org" = {
server_type = "cpx52"
# reserve IPv6 address as static target for the HAproxy ADN service
floating_ipv6 = true
location = "hel1"
}
"bastion.archlinux.org" = {
server_type = "cx23"
domain = "bastion"
# reserve extra IP for allowlisting in management interface
floating_ipv4 = true
}
"bbs.archlinux.org" = {
server_type = "cpx22"
ttl = 60
floating_ipv6 = true
location = "nbg1"
}
"buildbtw.archlinux.builders" = {
server_type = "cx23"
domain = "buildbtw"
zone = hcloud_zone.archlinux_builders.id
http3 = true
}
"buildbtw.archlinux.review" = {
server_type = "cx23"
domain = "buildbtw"
zone = hcloud_zone.archlinux_review.id
http3 = true
}
"buildbtw.archlinux.org" = {
server_type = "cx23"
domain = "buildbtw"
http3 = true
}
"bugbuddy.archlinux.org" = {
server_type = "cx23"
domain = "bugbuddy"
}
"bumpbuddy.archlinux.org" = {
server_type = "cx23"
domain = "bumpbuddy"
}
"codesearch.archlinux.org" = {
server_type = "cx33"
domain = "codesearch"
}
"dashboards.archlinux.org" = {
server_type = "cx23"
domain = "dashboards"
}
"debuginfod.archlinux.org" = {
server_type = "cx33"
domain = "debuginfod"
}
"discourse.sandbox.archlinux.org" = {
server_type = "cx33"
domain = "discourse.sandbox"
}
"finance.archlinux.org" = {
server_type = "cx23"
domain = "finance"
}
"gluebuddy.archlinux.org" = {
server_type = "cx23"
domain = "gluebuddy"
}
"homedir.archlinux.org" = {
server_type = "cx23"
domain = "homedir"
location = "nbg1"
}
"lists.archlinux.org" = {
server_type = "cx23"
domain = "lists"
location = "hel1"
}
"mail.archlinux.org" = {
server_type = "cx23"
domain = "mail"
location = "hel1"
}
"man.archlinux.org" = {
server_type = "cx23"
location = "hel1"
}
"matrix.archlinux.org" = {
server_type = "cpx32"
domain = "matrix"
location = "nbg1"
}
"md.archlinux.org" = {
server_type = "cx23"
domain = "md"
location = "hel1"
}
"mirror.pkgbuild.com" = {
server_type = "cx33"
domain = "mirror"
zone = hcloud_zone.pkgbuild_com.id
http3 = true
location = "nbg1"
}
"monitoring.archlinux.org" = {
server_type = "cpx32"
domain = "monitoring"
location = "hel1"
}
"mumble.archlinux.org" = {
server_type = "cx23"
domain = "mumble"
}
"opensearch.archlinux.org" = {
server_type = "cx23"
domain = "opensearch"
}
"phrik.archlinux.org" = {
server_type = "cx23"
domain = "phrik"
location = "nbg1"
}
"quassel.archlinux.org" = {
server_type = "cx23"
domain = "quassel"
location = "nbg1"
}
"redirect.archlinux.org" = {
server_type = "cx23"
domain = "redirect"
location = "hel1"
}
"reproducible.archlinux.org" = {
server_type = "cx23"
domain = "reproducible"
location = "hel1"
}
"security.archlinux.org" = {
server_type = "cx23"
domain = "security"
location = "hel1"
}
"state.archlinux.org" = {
server_type = "cx23"
domain = "state"
backups = true
location = "nbg1"
}
"test.pkgbuild.com" = {
server_type = "cx23"
}
"wiki.archlinux.org" = {
server_type = "cpx52"
# reserve IPv6 address as static target for the HAproxy ADN service
floating_ipv6 = true
location = "hel1"
}
}
# This creates GitLab Pages CNAMEs.
#
# NOTE: Don't forget to also add an entry to `gitlab_pages_archlinux_org_map` in `host_vars/gitlab.archlinux.org/misc.yml`
archlinux_org_gitlab_pages = toset([
"conf",
"whatcanidofor",
"openpgpkey",
"openpgpkey.master-key",
"bugs",
"package-maintainer-bylaws.aur",
"terms",
"patchwork",
"panic",
])
# This creates archlinux.org TXT DNS entries
# Valid parameters are:
# - ttl (optional)
# - value, automatically wrapped in hcloud::txt_record (mandatory)
#
# Example:
# "_github-challenge-archlinux" = { ttl = 3600, value = "824af4446e" }
archlinux_org_txt = {
"dkim-ed25519._domainkey.lists" = { value = "v=DKIM1; k=ed25519;p=ongbdFgt5Vimg/VRRbbSVRU4lBCkcYNaPA4K3JS/DnY=" }
"dkim-rsa._domainkey.lists" = { value = "v=DKIM1; k=rsa; p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4M+y3ZeB9eI3GVgcrvMcI1SYOveH7P5TTRstaCHTlE/aRTiCzu5h6zKwwxEiK6NR5ugbHpBtfFnfnsl1eoaXVFBQfNdDNglHllJOZGVxTnyrFjRJUk9zN+PV/Haz73nAe1hOAENgV8NKnTok1ntaOYSH1AEj4yTswfQkuN23NPrQc1eyy3+hGC+lYpud3xAAl+oT4QE76PaLgk6HzHOvZmAPGD3azJZRbobninZZXTAEvZFuPkfpWeUreDU9Hk9VX3zOmnqTN+YjIS5CdV6+Ghem3dCkmR9j3gOZBeBUYD7b+cinTYe/PZO2OG/LWCwN11EYyf1LSBGhBJCF9HPGiGIdhy5T62nKvwDQS0bj1HL+y6pXZdv2C7KgH+lAZ0idpOQ2TtV5e0tlVdryY4QXY9m7mSQ84WsoEdGDsetOhiTEKuqyGnDoYa0wYbM5477LL6EOzS0x3ZC/mbOgB+FSdzmLWCH/WjuzMNpw9WU+u4BucwVbYcnZ1vAxQQOEnA/Ku9drRHMFixBwodQuMA78j8ICCMJKlUiXmbbL7OFoXBArYJ7lgVs7mlaoEaqzDPCyqs1lJ9kOxdNoZj5zdxERcQhLm+Yo/948i6Js/nkWT0eAjNlHxZuCg3B4z7L4lRZpaGt+vHdcGUIeDKW34O0dWxPwIUmQA4CwmhUB0HWL9UcCAwEAAQ==" }
"dkim-ed25519._domainkey" = { value = "v=DKIM1; k=ed25519; p=XOHB7b7V1puX+FryNIhsjXHYIFqk+q6JRu4XQ7Jc8MQ=" }
"dkim-rsa._domainkey" = { value = "v=DKIM1; k=rsa; p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1GjGrEczq7iHZbvT7wa4ltJz2jwSndUGdRHgfEPnGBeevOXEAlEFr4zsdkfZEaNaQLIhZNpvKAt/A+kkyalkj4u9AnxqeNsNmZflFl6TKgvh0tWNEP3+XNxfdQ7zfml4WggL/YdAjXngg42oZEUsnS/6iozOFn7bNvzqBx5PFJ21pgyuR8DWyLaeOt+p55dVed7DCKnKi11Xjiu7kH68W8rose7g8Fv9fecBatEE4jwloOXsjh+tH0iab1NSSSpIq6EdgcPrpmrllN3/n2J/kCGK6ztISB6vR7xWgvgHSMjmEL0GPWzohGPrw2UQhZhrNV8dJpiLRYmfK+rXaKF0Kqag/F0e4C4jCKFX7NYFcYXYRlN5QlDFjZvUmOILlgnZ8w/SdZUKzpLObGuwnANLG+WSOjw42p9mXVGN6AfOQPu8OjRjS1MyhcdDIbUvZiQjbmiVJ5frpYZ39BTgCIzYLJJ5932+3gnwROu1OeljWkpBkfHZXPzADus80l3Vxsk91XZVB36rN8tyuMownR/M4HNC7ZE/EBwOnn1mGH7bLd6pva8u5Qy8Y6LrDdYea5Kk7aZ2WJSSRTV+nkPvOEIx+DfsIWNfmkVWzmuVky96fRvwOCuh38w8zpmlqzhDuGSQrBaLFXwAC7LYQ6kPDHzrjQhs99ScR0ix6YclrmpimMcCAwEAAQ==" }
"_dmarc" = { value = "v=DMARC1; p=none; rua=mailto:dmarc-reports@archlinux.org; ruf=mailto:dmarc-reports@archlinux.org;" }
"_github-challenge-archlinux" = { value = "824af4446e" }
"_github-challenge-archlinux.www" = { value = "b53f311f86" }
# TLS-RPT + MTA-STS + SPF
"_smtp._tls" = { value = "v=TLSRPTv1;rua=mailto:postmaster@archlinux.org" }
"_smtp._tls.aur" = { value = "v=TLSRPTv1;rua=mailto:postmaster@archlinux.org" }
"_smtp._tls.master-key" = { value = "v=TLSRPTv1;rua=mailto:postmaster@archlinux.org" }
"_smtp._tls.gitlab" = { value = "v=TLSRPTv1;rua=mailto:postmaster@archlinux.org" }
"_smtp._tls.lists" = { value = "v=TLSRPTv1;rua=mailto:postmaster@archlinux.org" }
# Generated with: date +%Y%m%d01
"_mta-sts" = { value = "v=STSv1; id=2022051602" }
"@" = { value = "v=spf1 ip4:${hcloud_server.machine["mail.archlinux.org"].ipv4_address} ip6:${hcloud_server.machine["mail.archlinux.org"].ipv6_address} ~all" }
"mail" = { value = "v=spf1 ip4:${hcloud_server.machine["mail.archlinux.org"].ipv4_address} ip6:${hcloud_server.machine["mail.archlinux.org"].ipv6_address} ~all" }
"aur" = { value = "v=spf1 ip4:${hcloud_server.machine["mail.archlinux.org"].ipv4_address} ip6:${hcloud_server.machine["mail.archlinux.org"].ipv6_address} ~all" }
"master-key" = { value = "v=spf1 ip4:${hcloud_server.machine["mail.archlinux.org"].ipv4_address} ip6:${hcloud_server.machine["mail.archlinux.org"].ipv6_address} ~all" }
gitlab = { value = "v=spf1 ip4:${hcloud_server.machine["mail.archlinux.org"].ipv4_address} ip6:${hcloud_server.machine["mail.archlinux.org"].ipv6_address} ~all" }
lists = { value = "v=spf1 ip4:${hcloud_server.machine["lists.archlinux.org"].ipv4_address} ip6:${hcloud_server.machine["lists.archlinux.org"].ipv6_address} ~all" }
}
# This creates archlinux.org MX DNS entries
# Valid parameters are:
# - mx (mandatory)
# - ttl (optional)
#
# Example:
# "lists" = { mx = "lists.archlinux.org.", ttl = 3600 }
archlinux_org_mx = {
"@" = { mx = "mail.archlinux.org." }
aur = { mx = "mail.archlinux.org." }
master-key = { mx = "mail.archlinux.org." }
gitlab = { mx = "mail.archlinux.org." }
lists = { mx = "lists.archlinux.org." }
}
# This creates archlinux.org A/AAAA DNS entries in addition to those already specified by the VPSes.
# The VPSes already get a default domain assigned based on their domain parameter.
# Thus the domains in local.archlinux_org_a_aaaa are additional domains or domains assigned to dedicated servers.
#
# The entry name corresponds to the subdomain.
# '@' is the root doman (archlinux.org).
# Valid parameters are:
# - ipv4_address (mandatory)
# - ipv6_address (mandatory)
# - ttl (optional)
#
# Example:
# archive = {
# ipv4_address = "49.12.124.107"
# ipv6_address = "2a01:4f8:242:5614::2"
# ttl = 3600
# }
archlinux_org_a_aaaa = {
"@" = {
ipv4_address = "209.126.35.79"
ipv6_address = "2604:cac0:a104:d::3"
ttl = 60
}
archive = {
ipv4_address = "49.12.124.107"
ipv6_address = "2a01:4f8:242:5614::2"
}
aur = {
ipv4_address = "209.126.35.78"
ipv6_address = "2604:cac0:a104:d::2"
ttl = 60
}
bbs = {
ipv4_address = "209.126.35.82"
ipv6_address = "2604:cac0:a104:d::5"
ttl = 60
}
build = {
ipv4_address = "162.55.28.166"
ipv6_address = "2a01:4f8:2190:20e0::2"
}
gitlab = {
ipv4_address = "213.133.111.15"
ipv6_address = "2a01:4f8:222:174c::1"
}
man = {
# From HAProxy
ipv4_address = "209.126.35.76"
ipv6_address = "2604:cac0:a104:d::0"
ttl = 60
}
master-key = {
ipv4_address = "209.126.35.79"
ipv6_address = "2604:cac0:a104:d::3"
ttl = 60
}
pages = {
ipv4_address = "213.133.111.15"
ipv6_address = "2a01:4f8:222:174c::1"
}
repos = {
ipv4_address = "168.119.141.106"
ipv6_address = "2a01:4f8:251:598::"
http3 = true
}
secure-runner1 = {
ipv4_address = "116.202.134.150"
ipv6_address = "2a01:4f8:231:4e1e::2"
}
runner2 = {
ipv4_address = "157.180.104.115"
ipv6_address = "2a01:4f9:3090:11cb::2"
}
wiki = {
ipv4_address = "209.126.35.81"
ipv6_address = "2604:cac0:a104:d::4"
ttl = 60
}
www = {
ipv4_address = "209.126.35.79"
ipv6_address = "2604:cac0:a104:d::3"
ttl = 60
}
}
# This creates archlinux.org CNAME DNS entries.
# Valid parameters are:
# - value (mandatory, the target for the CNAME "redirect")
# - ttl (optional)
#
# Example:
# dev = { value = "www.archlinux.org.", ttl = 3600 }
archlinux_org_cname = {
ipxe = { value = "www.archlinux.org." }
mailman = { value = "redirect.archlinux.org." }
packages = { value = "www.archlinux.org." }
ping = { value = "redirect.archlinux.org." }
planet = { value = "www.archlinux.org." }
registry = { value = "gitlab.archlinux.org." }
rsync = { value = "repos.archlinux.org." }
sources = { value = "repos.archlinux.org." }
"static.conf" = { value = "redirect.archlinux.org." }
status = { value = "stats.uptimerobot.com." }
coc = { value = "redirect.archlinux.org." }
git = { value = "redirect.archlinux.org." }
"tu-bylaws.aur" = { value = "redirect.archlinux.org." }
# MTA-STS
mta-sts = { value = "mail.archlinux.org." }
"mta-sts.aur" = { value = "mail.archlinux.org." }
"_mta-sts.aur" = { value = "_mta-sts.archlinux.org." }
"mta-sts.master-key" = { value = "mail.archlinux.org." }
"_mta-sts.master-key" = { value = "_mta-sts.archlinux.org." }
"mta-sts.gitlab" = { value = "mail.archlinux.org." }
"_mta-sts.gitlab" = { value = "_mta-sts.archlinux.org." }
"mta-sts.lists" = { value = "mail.archlinux.org." }
"_mta-sts.lists" = { value = "_mta-sts.archlinux.org." }
}
# This creates pkgbuild.com A/AAAA DNS entries in addition to those already specified by the VPSes.
# The VPSes already get a default domain assigned based on their domain parameter.
# Thus the domains in local.pkgbuild_com_a_aaaa are additional domains or domains assigned to dedicated servers.
#
# The entry name corresponds to the subdomain.
# '@' is the root doman (pkgbuild.com).
# Valid parameters are:
# - ipv4_address (mandatory)
# - ipv6_address (mandatory)
# - ttl (optional)
#
pkgbuild_com_a_aaaa = {
"@" = {
ipv4_address = hcloud_server.machine["homedir.archlinux.org"].ipv4_address
ipv6_address = hcloud_server.machine["homedir.archlinux.org"].ipv6_address
}
"berlin.mirror" = {
ipv4_address = "45.142.247.77"
ipv6_address = "2a12:8d02:2100:10d:26a3:f0ff:fe47:bfaf"
http3 = true
}
"frankfurt.mirror" = {
ipv4_address = "138.199.19.15"
ipv6_address = "2a02:6ea0:c72e::2"
http3 = true
}
"johannesburg.mirror" = {
ipv4_address = "102.130.49.241"
ipv6_address = "2a0b:4342:1a91:3b5:26a3:f0ff:fe49:9bf9"
http3 = true
}
"london.mirror" = {
ipv4_address = "185.73.44.89"
ipv6_address = "2001:ba8:0:4030::2"
http3 = true
}
"losangeles.mirror" = {
ipv4_address = "209.209.59.11"
ipv6_address = "2a0e:6901:110:95:26a3:f0ff:fe48:999e"
http3 = true
}
"singapore.mirror" = {
ipv4_address = "194.156.163.63"
ipv6_address = "2407:b9c0:e002:166:26a3:f0ff:fe46:6e9c"
http3 = true
}
"taipei.mirror" = {
ipv4_address = "45.150.242.222"
ipv6_address = "2407:b9c0:b001:c4:26a3:f0ff:fe46:b1dc"
http3 = true
}
repro4 = {
ipv6_address = "2001:1470:fffd:3050::189:1"
}
test = {
# From HAProxy
ipv4_address = "209.126.35.77"
ipv6_address = "2604:cac0:a104:d::1"
}
"umea.mirror" = {
ipv4_address = "194.71.11.121"
ipv6_address = "2001:6b0:19:2::121"
http3 = true
}
"umea.archive" = {
ipv4_address = "194.71.11.121"
ipv6_address = "2001:6b0:19:2::121"
http3 = true
}
www = {
ipv4_address = hcloud_server.machine["homedir.archlinux.org"].ipv4_address
ipv6_address = hcloud_server.machine["homedir.archlinux.org"].ipv6_address
}
}
# This creates archlinux.page A/AAAA DNS entries.
#
# The entry name corresponds to the subdomain.
# '@' is the root doman (archlinux.page).
# Valid parameters are:
# - ipv4_address (mandatory)
# - ipv6_address (mandatory)
# - ttl (optional)
#
archlinux_page_a_aaaa = {
"@" = {
ipv4_address = "213.133.111.15"
ipv6_address = "2a01:4f8:222:174c::1"
}
"*" = {
ipv4_address = "213.133.111.15"
ipv6_address = "2a01:4f8:222:174c::1"
}
}
# Domains served by machines in the geo_mirrors group
# Valid parameters are:
# - name (mandatory, specifies the subdomain to create in the above zone)
# - zone (optional, defaults to hcloud_zone.archlinux_org.id)
# - ttl (optional, the TTL of the NS records, defaults to 86400 if unset)
#
# Note: If you use a custom TTL, also add it to geo_options[domain]['ns_ttl']
# in Ansible (see the 'geo_options' variable in group_vars/all/geo.yml)
#
geo_domains = {
"geo.mirror.pkgbuild.com" = {
name = "geo.mirror"
zone = hcloud_zone.pkgbuild_com.name
}
"riscv.mirror.pkgbuild.com" = {
name = "riscv.mirror"
zone = hcloud_zone.pkgbuild_com.name
}
}
}
resource "hcloud_zone" "archlinux_org" {
name = "archlinux.org"
mode = "primary"
ttl = 3600
delete_protection = true
}
resource "hcloud_zone" "archlinux_builders" {
name = "archlinux.builders"
mode = "primary"
ttl = 3600
delete_protection = true
}
resource "hcloud_zone" "archlinux_review" {
name = "archlinux.review"
mode = "primary"
ttl = 3600
delete_protection = true
}
resource "hcloud_zone" "archlinux_page" {
name = "archlinux.page"
mode = "primary"
ttl = 3600
delete_protection = true
}
resource "hcloud_zone" "pkgbuild_com" {
name = "pkgbuild.com"
mode = "primary"
ttl = 3600
delete_protection = true
}
resource "hcloud_zone_rrset" "archlinux_page_origin_caa" {
zone = hcloud_zone.archlinux_page.name
name = "@"
type = "CAA"
records = [
{ value = "0 issue \"letsencrypt.org\"" },
]
}
resource "hcloud_zone_rrset" "archlinux_page_origin_mx" {
zone = hcloud_zone.archlinux_page.name
name = "@"
type = "MX"
records = [
{ value = "0 ." },
]
}
resource "hcloud_zone_rrset" "archlinux_page_archinstall_cname" {
zone = hcloud_zone.archlinux_page.name
name = "archinstall"
type = "CNAME"
records = [
{ value = "archlinux.github.io." },
]
}
resource "hcloud_zone_rrset" "pkgbuild_com_teapot_mirror_cname" {
zone = hcloud_zone.pkgbuild_com.name
name = "teapot.mirror"
type = "CNAME"
records = [
{ value = "t.sni.global.fastly.net." },
]
}
resource "hcloud_zone_rrset" "pkgbuild_com_fastly_mirror_cname" {
zone = hcloud_zone.pkgbuild_com.name
name = "fastly.mirror"
type = "CNAME"
records = [
{ value = "dualstack.t.sni.global.fastly.net." },
]
}
resource "hcloud_zone_rrset" "archlinux_page_origin_ns" {
zone = hcloud_zone.archlinux_page.name
name = "@"
type = "NS"
ttl = 86400
records = [
{ value = "hydrogen.ns.hetzner.com." },
{ value = "oxygen.ns.hetzner.com." },
{ value = "helium.ns.hetzner.de." },
]
}
resource "hcloud_zone_rrset" "archlinux_page_sandbox_ns" {
zone = hcloud_zone.archlinux_page.name
name = "sandbox"
type = "NS"
ttl = 86400
records = [
{ value = "redirect.archlinux.org." },
]
}
resource "hcloud_zone_rrset" "archlinux_page_origin_soa" {
zone = hcloud_zone.archlinux_page.name
name = "@"
type = "SOA"
records = [
{ value = "hydrogen.ns.hetzner.com. dns.hetzner.com. 0 86400 10800 3600000 3600" },
]
}
resource "hcloud_zone_rrset" "archlinux_page_origin_txt" {
zone = hcloud_zone.archlinux_page.name
name = "@"
type = "TXT"
records = [
{ value = provider::hcloud::txt_record("v=spf1 -all") },
]
}
resource "hcloud_zone_rrset" "pages_verification_code_archlinux_page_origin_txt" {
zone = hcloud_zone.archlinux_page.name
name = "_gitlab-pages-verification-code"
type = "TXT"
records = [
{ value = provider::hcloud::txt_record("gitlab-pages-verification-code=0b9e3fc74735f5d83c7cfc86883b40cb") },
]
}
resource "hcloud_zone_rrset" "pkgbuild_com_origin_caa" {
zone = hcloud_zone.pkgbuild_com.name
name = "@"
type = "CAA"
records = [
{ value = "0 issue \"letsencrypt.org\"" },
]
}
resource "hcloud_zone_rrset" "pkgbuild_com_origin_mx" {
zone = hcloud_zone.pkgbuild_com.name
name = "@"
type = "MX"
records = [
{ value = "0 ." },
]
}
resource "hcloud_zone_rrset" "pkgbuild_com_origin_ns" {
zone = hcloud_zone.pkgbuild_com.name
name = "@"
type = "NS"
ttl = 86400
records = [
{ value = "hydrogen.ns.hetzner.com." },
{ value = "oxygen.ns.hetzner.com." },
{ value = "helium.ns.hetzner.de." },
]
}
resource "hcloud_zone_rrset" "pkgbuild_com_origin_soa" {
zone = hcloud_zone.pkgbuild_com.name
name = "@"
type = "SOA"
records = [
{ value = "hydrogen.ns.hetzner.com. dns.hetzner.com. 0 86400 10800 3600000 3600" },
]
}
resource "hcloud_zone_rrset" "pkgbuild_com_origin_txt" {
zone = hcloud_zone.pkgbuild_com.name
name = "@"
type = "TXT"
records = [
{ value = provider::hcloud::txt_record("v=spf1 -all") },
]
}
resource "hcloud_zone_rrset" "archlinux_org_origin_caa" {
zone = hcloud_zone.archlinux_org.name
name = "@"
type = "CAA"
records = [
{ value = "0 issue \"letsencrypt.org\"" },
]
}
resource "hcloud_zone_rrset" "archlinux_org_origin_ns" {
zone = hcloud_zone.archlinux_org.name
name = "@"
type = "NS"
ttl = 86400
records = [
{ value = "hydrogen.ns.hetzner.com." },
{ value = "oxygen.ns.hetzner.com." },
{ value = "helium.ns.hetzner.de." },
]
}
resource "hcloud_zone_rrset" "archlinux_review_acme_challenge_buildbtw_ns" {
zone = hcloud_zone.archlinux_review.name
name = "_acme-challenge.buildbtw"
type = "NS"
ttl = 86400
records = [
{ value = "redirect.archlinux.org." },
]
}
resource "hcloud_zone_rrset" "archlinux_review_buildbtw_wildcard_a" {
zone = hcloud_zone.archlinux_review.name
name = "*.buildbtw"
type = "A"
records = [
{ value = hcloud_server.machine["buildbtw.archlinux.review"].ipv4_address },
]
}
resource "hcloud_zone_rrset" "archlinux_review_buildbtw_wildcard_aaaa" {
zone = hcloud_zone.archlinux_review.name
name = "*.buildbtw"
type = "AAAA"
records = [
{ value = hcloud_server.machine["buildbtw.archlinux.review"].ipv6_address },
]
}
resource "hcloud_zone_rrset" "archlinux_org_acme_challenge_mumble_ns" {
zone = hcloud_zone.archlinux_org.name
name = "_acme-challenge.mumble"
type = "NS"
ttl = 86400
records = [
{ value = "redirect.archlinux.org." },
]
}
resource "hcloud_zone_rrset" "archlinux_page_acme_challenge_wildcard_ns" {
zone = hcloud_zone.archlinux_page.name
name = "_acme-challenge"
type = "NS"
ttl = 86400
records = [
{ value = "redirect.archlinux.org." },
]
}
resource "hcloud_zone_rrset" "archlinux_org_origin_soa" {
zone = hcloud_zone.archlinux_org.name
name = "@"
type = "SOA"
records = [
{ value = "hydrogen.ns.hetzner.com. dns.hetzner.com. 0 86400 10800 3600000 3600" },
]
}
resource "hcloud_volume" "mirror" {
name = "mirror"
size = 150
server_id = hcloud_server.machine["mirror.pkgbuild.com"].id
delete_protection = true
}
resource "hcloud_volume" "homedir" {
name = "homedir"
size = 150
server_id = hcloud_server.machine["homedir.archlinux.org"].id
delete_protection = true
}
resource "hcloud_volume" "monitoring" {
name = "monitoring"
size = 300
server_id = hcloud_server.machine["monitoring.archlinux.org"].id
delete_protection = true
}
resource "hcloud_volume" "codesearch" {
name = "codesearch"
size = 800
server_id = hcloud_server.machine["codesearch.archlinux.org"].id
delete_protection = true
}
resource "hcloud_volume" "debuginfod" {
name = "debuginfod"
size = 175
server_id = hcloud_server.machine["debuginfod.archlinux.org"].id
delete_protection = true
}