archlinux.tf 42.4 KB
Newer Older
1
terraform {
2
  backend "pg" {
3
    schema_name = "terraform_remote_state_stage1"
4
  }
5
6
}

7
8
9
10
11
12
13
data "external" "vault_hetzner" {
  program = [
    "${path.module}/../misc/get_key.py", "misc/vault_hetzner.yml",
    "hetzner_cloud_api_key",
    "hetzner_dns_api_key",
    "--format", "json"
  ]
14
}
15

16
17
data "hcloud_image" "archlinux" {
  with_selector = "custom_image=archlinux"
18
19
  most_recent   = true
  with_status   = ["available"]
20
21
22
}

provider "hcloud" {
23
24
25
26
27
28
29
  token = data.external.vault_hetzner.result.hetzner_cloud_api_key
}

provider "hetznerdns" {
  apitoken = data.external.vault_hetzner.result.hetzner_dns_api_key
}

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
variable "archlinux_org_gitlab_pages" {
  type = list(object({
    name              = string
    verification_code = string
  }))
  default = [
    {
      name              = "conf"
      verification_code = "60a06a1c02e42b36c3b4919f4d6de6bf"
    },
    {
      name              = "whatcanwedofor",
      verification_code = "b5f8011047c1610ace52e754b568c834"
    }
  ]
}

47
48
resource "hetznerdns_zone" "archlinux" {
  name = "archlinux.org"
49
  ttl  = 86400
50
51
52
53
}

resource "hetznerdns_zone" "pkgbuild" {
  name = "pkgbuild.com"
54
  ttl  = 86400
55
56
57
58
}

resource "hetznerdns_record" "pkgbuild_com_origin_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
59
60
61
  name    = "@"
  value   = "78.46.178.133"
  type    = "A"
62
63
64
65
}

resource "hetznerdns_record" "pkgbuild_com_origin_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
66
67
68
  name    = "@"
  value   = "2a01:4f8:c2c:51e2::1"
  type    = "AAAA"
69
70
71
72
}

resource "hetznerdns_record" "pkgbuild_com_origin_caa" {
  zone_id = hetznerdns_zone.pkgbuild.id
73
74
75
  name    = "@"
  value   = "0 issue \"letsencrypt.org\""
  type    = "CAA"
76
77
78
79
}

resource "hetznerdns_record" "pkgbuild_com_origin_mx" {
  zone_id = hetznerdns_zone.pkgbuild.id
80
81
82
  name    = "@"
  value   = "0 ."
  type    = "MX"
83
84
85
86
}

resource "hetznerdns_record" "pkgbuild_com_origin_ns3" {
  zone_id = hetznerdns_zone.pkgbuild.id
87
88
89
  name    = "@"
  value   = "robotns3.second-ns.com."
  type    = "NS"
90
91
92
93
}

resource "hetznerdns_record" "pkgbuild_com_origin_ns2" {
  zone_id = hetznerdns_zone.pkgbuild.id
94
95
96
  name    = "@"
  value   = "robotns2.second-ns.de."
  type    = "NS"
97
98
99
100
}

resource "hetznerdns_record" "pkgbuild_com_origin_ns1" {
  zone_id = hetznerdns_zone.pkgbuild.id
101
102
103
  name    = "@"
  value   = "ns1.first-ns.de."
  type    = "NS"
104
105
}

106
107
108
109
110
111
112
113
114
# TODO: Commented currently as we have no idea how to handle SOA stuff with Terraform:
# https://github.com/timohirt/terraform-provider-hetznerdns/issues/20
# https://gitlab.archlinux.org/archlinux/infrastructure/-/merge_requests/62#note_4040
# resource "hetznerdns_record" "pkgbuild_com_origin_soa" {
#   zone_id = hetznerdns_zone.pkgbuild.id
#   name = "@"
#   value = "ns1.first-ns.de. dns.hetzner.com. 2020090604 14400 1800 604800 86400"
#   type = "SOA"
# }
115
116
117

resource "hetznerdns_record" "pkgbuild_com_origin_txt" {
  zone_id = hetznerdns_zone.pkgbuild.id
118
119
120
  name    = "@"
  value   = "\"v=spf1 -all\""
  type    = "TXT"
121
122
123
124
}

resource "hetznerdns_record" "pkgbuild_com_wildcard_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
125
126
127
  name    = "*"
  value   = "78.46.178.133"
  type    = "A"
128
129
130
131
}

resource "hetznerdns_record" "pkgbuild_com_wildcard_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
132
133
134
  name    = "*"
  value   = "2a01:4f8:c2c:51e2::1"
  type    = "AAAA"
135
136
137
138
}

resource "hetznerdns_record" "pkgbuild_com_mirror_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
139
140
141
  name    = "mirror"
  value   = "78.46.209.220"
  type    = "A"
142
143
144
145
}

resource "hetznerdns_record" "pkgbuild_com_mirror_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
146
147
148
  name    = "mirror"
  value   = "2a01:4f8:c2c:c62f::1"
  type    = "AAAA"
149
150
}

Jelle van der Waa's avatar
Jelle van der Waa committed
151
152
153
154
155
156
157
resource "hetznerdns_record" "pkgbuild_com_america_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "america.mirror"
  value   = "143.244.34.62"
  type    = "A"
}

158
159
160
161
162
163
164
resource "hetznerdns_record" "pkgbuild_com_america_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "america.mirror"
  value   = "2a02:6ea0:cc0e::2"
  type    = "AAAA"
}

165
166
167
168
169
170
171
172
173
174
175
176
177
178
resource "hetznerdns_record" "pkgbuild_com_america_archive_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "america.archive"
  value   = "143.244.34.62"
  type    = "A"
}

resource "hetznerdns_record" "pkgbuild_com_america_archive_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "america.archive"
  value   = "2a02:6ea0:cc0e::2"
  type    = "AAAA"
}

Jelle van der Waa's avatar
Jelle van der Waa committed
179
180
181
182
183
184
185
resource "hetznerdns_record" "pkgbuild_com_asia_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "asia.mirror"
  value   = "84.17.57.98"
  type    = "A"
}

186
187
188
189
190
191
192
resource "hetznerdns_record" "pkgbuild_com_asia_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "asia.mirror"
  value   = "2a02:6ea0:d605::2"
  type    = "AAAA"
}

193
194
195
196
197
198
199
200
201
202
203
204
205
206
resource "hetznerdns_record" "pkgbuild_com_asia_archive_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "asia.archive"
  value   = "84.17.57.98"
  type    = "A"
}

resource "hetznerdns_record" "pkgbuild_com_asia_archive_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "asia.archive"
  value   = "2a02:6ea0:d605::2"
  type    = "AAAA"
}

Jelle van der Waa's avatar
Jelle van der Waa committed
207
208
209
210
211
212
213
resource "hetznerdns_record" "pkgbuild_com_europe_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "europe.mirror"
  value   = "89.187.191.12"
  type    = "A"
}

214
215
216
217
218
219
220
resource "hetznerdns_record" "pkgbuild_com_europe_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "europe.mirror"
  value   = "2a02:6ea0:c237::2"
  type    = "AAAA"
}

221
222
223
224
225
226
227
228
229
resource "hetznerdns_record" "pkgbuild_com_europe_archive_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "europe.archive"
  value   = "89.187.191.12"
  type    = "A"
}

resource "hetznerdns_record" "pkgbuild_com_europe_archive_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
230
  name    = "europe.archive"
231
232
233
234
  value   = "2a02:6ea0:c237::2"
  type    = "AAAA"
}

235
resource "hetznerdns_record" "pkgbuild_com_repro1_a" {
236
  zone_id = hetznerdns_zone.pkgbuild.id
237
  name    = "repro1"
238
239
  value   = "147.75.81.79"
  type    = "A"
240
241
}

242
resource "hetznerdns_record" "pkgbuild_com_repro1_aaaa" {
243
  zone_id = hetznerdns_zone.pkgbuild.id
244
  name    = "repro1"
245
246
  value   = "2604:1380:2001:4500::1"
  type    = "AAAA"
247
248
}

Jelle van der Waa's avatar
Jelle van der Waa committed
249
250
251
252
253
254
255
resource "hetznerdns_record" "pkgbuild_com_repro2_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "repro2"
  value   = "212.102.38.209"
  type    = "A"
}

256
257
258
259
260
261
262
resource "hetznerdns_record" "pkgbuild_com_repro2_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
  name    = "repro2"
  value   = "2a02:6ea0:c238::2"
  type    = "AAAA"
}

263
264
resource "hetznerdns_record" "pkgbuild_com_www_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
265
266
267
  name    = "www"
  value   = "78.46.178.133"
  type    = "A"
268
269
270
271
}

resource "hetznerdns_record" "pkgbuild_com_www_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
272
273
274
  name    = "www"
  value   = "2a01:4f8:c2c:51e2::1"
  type    = "AAAA"
275
276
277
278
}

resource "hetznerdns_record" "archlinux_org_origin_a" {
  zone_id = hetznerdns_zone.archlinux.id
279
  name    = "@"
280
  ttl     = 600
281
  value   = hcloud_server.archlinux.ipv4_address
282
  type    = "A"
283
284
285
286
}

resource "hetznerdns_record" "archlinux_org_origin_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
287
  name    = "@"
288
  ttl     = 600
289
  value   = hcloud_server.archlinux.ipv6_address
290
  type    = "AAAA"
291
292
293
294
}

resource "hetznerdns_record" "archlinux_org_origin_caa" {
  zone_id = hetznerdns_zone.archlinux.id
295
296
297
  name    = "@"
  value   = "0 issue \"letsencrypt.org\""
  type    = "CAA"
298
299
300
301
}

resource "hetznerdns_record" "archlinux_org_origin_ns3" {
  zone_id = hetznerdns_zone.archlinux.id
302
303
304
  name    = "@"
  value   = "robotns3.second-ns.com."
  type    = "NS"
305
306
307
308
}

resource "hetznerdns_record" "archlinux_org_origin_ns2" {
  zone_id = hetznerdns_zone.archlinux.id
309
310
311
  name    = "@"
  value   = "robotns2.second-ns.de."
  type    = "NS"
312
313
314
315
}

resource "hetznerdns_record" "archlinux_org_origin_ns1" {
  zone_id = hetznerdns_zone.archlinux.id
316
317
318
  name    = "@"
  value   = "ns1.first-ns.de."
  type    = "NS"
319
320
}

321
322
323
324
325
326
327
328
329
# TODO: Commented currently as we have no idea how to handle SOA stuff with Terraform:
# https://github.com/timohirt/terraform-provider-hetznerdns/issues/20
# https://gitlab.archlinux.org/archlinux/infrastructure/-/merge_requests/62#note_4040
#; resource "hetznerdns_record" "archlinux_org_origin_soa" {
#   zone_id = hetznerdns_zone.archlinux.id
#   name = "@"
#   value = "ns1.first-ns.de. ibiru.archlinux.org. 2020072502 7200 900 1209600 86400"
#   type = "SOA"
# }
330
331
332

resource "hetznerdns_record" "archlinux_org_origin_apollo_domainkey_txt" {
  zone_id = hetznerdns_zone.archlinux.id
333
  name    = "apollo._domainkey"
334
  ttl     = 600
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
335
  value   = "\"v=DKIM1; k=rsa; s=email; \" \"p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvZIf8SbjC53RDCbMjTEpo0FCuMSShlKWdwWjY1J+RpT3CL/21z4nXqVBYF1orkUScH8Nlabocraqk8lmpNBlKCUV77lk9mRsLkWhg+XjhvQXL1xfH8zAg1CntEZuaIMLUQ+5Gkw6BlO1qDRkmXS9UtV8Jt1rhjRtSrgN5lhztOCbQLRAtzKty/nMeClqsfT3nL2hbDeh+b/rYc\" \"l2veZAqiGcR2/0bnKlt+Nb5lOBY3oZiYLmZ5g+l9UXVjGUq9jGAooIWpQvuRPmin3RX31kXfr1A+mDBEexiOL1dDST2Zx7i9puXbqYH0u0IxBpweHCO5UqWx52mdXBuhs+DCo/JoZAHU/6eRzK+Sps50LgLFSzJJNfGXk5PUKdww2GHbkK3mCYfoFCpB0SADzl42+1w6YZk1yXoPdOHtChfQpCgjtddf1W8Q09pYO1/bn4l0erdFQsWb1K\" \"4wEVOCn+hHWbV42V+J3TyGxQ4AM8KQ1OPvUEabyTyqcO4evBaH7/S2wA91Z9QDjTbKmlNovs5zoxuOM/mPGPUuQMvhjoAP+rg4AwJ3Xwd3GgUcqQflcokayUYdp7F3aKp1NWAR9ibseU/XBYsSF8Ucjqzf4DJFUfrgjHUr97st7g4HUCyXrQO4tyE0ytiX8OFjjIszWLmF+B7Vup9O7k+dNz2Vj2Vyzkq1UCAwEAAQ==\" "
336
  type    = "TXT"
337
338
339
340
}

resource "hetznerdns_record" "archlinux_org_accounts_a" {
  zone_id = hetznerdns_zone.archlinux.id
341
342
343
  name    = "accounts"
  value   = hcloud_server.accounts.ipv4_address
  type    = "A"
344
345
346
347
}

resource "hetznerdns_record" "archlinux_org_accounts_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
348
349
350
  name    = "accounts"
  value   = hcloud_server.accounts.ipv6_address
  type    = "AAAA"
351
352
353
354
}

resource "hetznerdns_record" "archlinux_org_apollo_a" {
  zone_id = hetznerdns_zone.archlinux.id
355
  name    = "apollo"
356
  ttl     = 600
357
358
  value   = "138.201.81.199"
  type    = "A"
359
360
361
362
}

resource "hetznerdns_record" "archlinux_org_apollo_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
363
  name    = "apollo"
364
  ttl     = 600
365
366
  value   = "2a01:4f8:172:1d86::1"
  type    = "AAAA"
367
368
369
370
}

resource "hetznerdns_record" "archlinux_org_aur_a" {
  zone_id = hetznerdns_zone.archlinux.id
371
372
373
  name    = "aur"
  value   = hcloud_server.aur.ipv4_address
  type    = "A"
374
375
376
377
}

resource "hetznerdns_record" "archlinux_org_aur_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
378
379
380
  name    = "aur"
  value   = hcloud_server.aur.ipv6_address
  type    = "AAAA"
381
382
383
384
}

resource "hetznerdns_record" "archlinux_org_aur_dev_a" {
  zone_id = hetznerdns_zone.archlinux.id
385
386
387
  name    = "aur-dev"
  value   = hcloud_server.aur-dev.ipv4_address
  type    = "A"
388
389
390
391
}

resource "hetznerdns_record" "archlinux_org_aur_dev_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
392
393
394
  name    = "aur-dev"
  value   = hcloud_server.aur-dev.ipv6_address
  type    = "AAAA"
395
396
397
398
}

resource "hetznerdns_record" "archlinux_org_aur4_a" {
  zone_id = hetznerdns_zone.archlinux.id
399
400
401
  name    = "aur4"
  value   = "5.9.250.164"
  type    = "A"
402
403
404
405
}

resource "hetznerdns_record" "archlinux_org_aur4_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
406
407
408
  name    = "aur4"
  value   = "2a01:4f8:160:3033::2"
  type    = "AAAA"
409
410
411
412
}

resource "hetznerdns_record" "archlinux_org_bbs_a" {
  zone_id = hetznerdns_zone.archlinux.id
413
414
415
  name    = "bbs"
  value   = hcloud_server.bbs.ipv4_address
  type    = "A"
416
417
418
419
}

resource "hetznerdns_record" "archlinux_org_bbs_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
420
421
422
  name    = "bbs"
  value   = hcloud_server.bbs.ipv6_address
  type    = "AAAA"
423
424
425
426
}

resource "hetznerdns_record" "archlinux_org_bugs_a" {
  zone_id = hetznerdns_zone.archlinux.id
427
428
429
  name    = "bugs"
  value   = hcloud_server.bugs.ipv4_address
  type    = "A"
430
431
432
433
}

resource "hetznerdns_record" "archlinux_org_bugs_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
434
435
436
  name    = "bugs"
  value   = hcloud_server.bugs.ipv6_address
  type    = "AAAA"
437
438
439
440
}

resource "hetznerdns_record" "archlinux_org_dragon_a" {
  zone_id = hetznerdns_zone.archlinux.id
441
442
443
  name    = "dragon"
  value   = "195.201.167.210"
  type    = "A"
444
445
446
447
}

resource "hetznerdns_record" "archlinux_org_dragon_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
448
449
450
  name    = "dragon"
  value   = "2a01:4f8:13a:102a::2"
  type    = "AAAA"
451
452
453
454
}

resource "hetznerdns_record" "archlinux_org_gemini_a" {
  zone_id = hetznerdns_zone.archlinux.id
455
456
457
  name    = "gemini"
  value   = "49.12.124.107"
  type    = "A"
458
459
460
461
}

resource "hetznerdns_record" "archlinux_org_gemini_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
462
463
464
  name    = "gemini"
  value   = "2a01:4f8:242:5614::2"
  type    = "AAAA"
465
466
467
468
}

resource "hetznerdns_record" "archlinux_org_gitlab_a" {
  zone_id = hetznerdns_zone.archlinux.id
469
470
471
  name    = "gitlab"
  value   = hcloud_server.gitlab.ipv4_address
  type    = "A"
472
473
474
475
}

resource "hetznerdns_record" "archlinux_org_gitlab_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
476
477
478
  name    = "gitlab"
  value   = hcloud_server.gitlab.ipv6_address
  type    = "AAAA"
479
480
481
482
}

resource "hetznerdns_record" "archlinux_org_homedir_a" {
  zone_id = hetznerdns_zone.archlinux.id
483
484
485
  name    = "homedir"
  value   = hcloud_server.homedir.ipv4_address
  type    = "A"
486
487
488
489
}

resource "hetznerdns_record" "archlinux_org_homedir_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
490
491
492
  name    = "homedir"
  value   = hcloud_server.homedir.ipv6_address
  type    = "AAAA"
493
494
495
496
}

resource "hetznerdns_record" "archlinux_org_lists_a" {
  zone_id = hetznerdns_zone.archlinux.id
497
498
499
  name    = "lists"
  value   = "5.9.250.164"
  type    = "A"
500
501
502
503
}

resource "hetznerdns_record" "archlinux_org_lists_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
504
505
506
  name    = "lists"
  value   = "2a01:4f8:160:3033::2"
  type    = "AAAA"
507
508
509
510
}

resource "hetznerdns_record" "archlinux_org_lists_mx" {
  zone_id = hetznerdns_zone.archlinux.id
511
  name    = "lists"
512
  ttl     = 600
513
514
  value   = "10 luna"
  type    = "MX"
515
516
}

517
518
519
520
521
522
523
524
525
resource "hetznerdns_record" "archlinux_org_lists_txt" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "lists"
  ttl     = 600
  # lists.archlinux.org
  value = "\"v=spf1 ip4:5.9.250.164 ip6:2a01:4f8:160:3033::2 ~all\""
  type  = "TXT"
}

526
527
resource "hetznerdns_record" "archlinux_org_luna_a" {
  zone_id = hetznerdns_zone.archlinux.id
528
  name    = "luna"
529
  ttl     = 600
530
531
  value   = "5.9.250.164"
  type    = "A"
532
533
534
535
}

resource "hetznerdns_record" "archlinux_org_luna_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
536
  name    = "luna"
537
  ttl     = 600
538
539
  value   = "2a01:4f8:160:3033::2"
  type    = "AAAA"
540
541
542
543
}

resource "hetznerdns_record" "archlinux_org_luna_txt" {
  zone_id = hetznerdns_zone.archlinux.id
544
  name    = "luna._domainkey"
545
  ttl     = 600
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
546
  value   = "\"v=DKIM1; k=rsa; s=email; \" \"p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvXrAPvtdX8Jrk4zmyk8w9T2zdAJGe7z0+4XHWWiuzH8Zse6S7oXiS9CVaPOsu0TZqHqhuclASU7qh0NXFwWyi2xRPyJOqH2Clu7vHS3j5F4TjURFOp4/EbA0iQu4rbItl4AU11z2pGSEj5SykUsrH+jjdqzNqAG9d4lNvkTs6RRzPF3KhhY+XljaeysEyDSS4ap4E0DYcduSIX\" \"oD1exFv4SEbXThD9PC1u81w4xusnmwmfHtR7aazeqPDP+S+FqDRy2woCaQb/VMbqMYVuWTVKJ2RxFyTKredOOV2c5kzih7GViwoetll/rTqO4aVbeir9K4f6YZg85dSQtVwEat7LV+zBnQwp3ivWkrIk8VEdSsCSaJlgattBiPHsfFFv1xw4qi3h+UvfCGgz35dtlnzd/noGhNARg0Z+kaMSTjy75V1mKx5sCH0o8nAX2XU8akJfLz58Vg\" \"kTx/sfealtwNA0gTy1t1jV8q0OF5RA0IeMRgCzeH2USOZI98W+EAUsGG5653Vzmp3FJRWp1tWJwRJ0M/aZ3ka/G1iTx3rNNcadVk+4q3gz3KnlAlun+m58y8pNWKjYuxmu9xkDRwM/33rv98j0R8HZO7HFL+1vjKkxSEuzmnTQ2O9F76/OsQoDPZ1Z6nJRvK8ts8PQr4ASKohby62+1F1M8U2Xn7u84dYLUCAwEAAQ==\" "
547
  type    = "TXT"
548
549
550
551
}

resource "hetznerdns_record" "archlinux_org_luna2_txt" {
  zone_id = hetznerdns_zone.archlinux.id
552
  name    = "luna2._domainkey"
553
  ttl     = 600
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
554
  value   = "\"v=DKIM1; k=rsa; s=email; \" \"p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvXrAPvtdX8Jrk4zmyk8w9T2zdAJGe7z0+4XHWWiuzH8Zse6S7oXiS9CVaPOsu0TZqHqhuclASU7qh0NXFwWyi2xRPyJOqH2Clu7vHS3j5F4TjURFOp4/EbA0iQu4rbItl4AU11z2pGSEj5SykUsrH+jjdqzNqAG9d4lNvkTs6RRzPF3KhhY+XljaeysEyDSS4ap4E0DYcduSIX\" \"oD1exFv4SEbXThD9PC1u81w4xusnmwmfHtR7aazeqPDP+S+FqDRy2woCaQb/VMbqMYVuWTVKJ2RxFyTKredOOV2c5kzih7GViwoetll/rTqO4aVbeir9K4f6YZg85dSQtVwEat7LV+zBnQwp3ivWkrIk8VEdSsCSaJlgattBiPHsfFFv1xw4qi3h+UvfCGgz35dtlnzd/noGhNARg0Z+kaMSTjy75V1mKx5sCH0o8nAX2XU8akJfLz58Vg\" \"kTx/sfealtwNA0gTy1t1jV8q0OF5RA0IeMRgCzeH2USOZI98W+EAUsGG5653Vzmp3FJRWp1tWJwRJ0M/aZ3ka/G1iTx3rNNcadVk+4q3gz3KnlAlun+m58y8pNWKjYuxmu9xkDRwM/33rv98j0R8HZO7HFL+1vjKkxSEuzmnTQ2O9F76/OsQoDPZ1Z6nJRvK8ts8PQr4ASKohby62+1F1M8U2Xn7u84dYLUCAwEAAQ==\" "
555
  type    = "TXT"
556
557
}

558
559
560
561
562
563
564
565
resource "hetznerdns_record" "archlinux_org_luna3_txt" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "luna"
  ttl     = 600
  value   = "\"v=spf1 include:lists.archlinux.org -all\""
  type    = "TXT"
}

566
567
resource "hetznerdns_record" "archlinux_org_mailman3_a" {
  zone_id = hetznerdns_zone.archlinux.id
568
569
570
  name    = "mailman3"
  value   = hcloud_server.mailman3.ipv4_address
  type    = "A"
571
572
}

573
574
575
576
577
578
579
resource "hetznerdns_record" "archlinux_org_mailman3_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "mailman3"
  value   = hcloud_server.mailman3.ipv6_address
  type    = "AAAA"
}

580
581
resource "hetznerdns_record" "archlinux_org_master_key_a" {
  zone_id = hetznerdns_zone.archlinux.id
582
  name    = "master-key"
583
  ttl     = 600
584
  value   = hcloud_server.archlinux.ipv4_address
585
  type    = "A"
586
587
}

588
589
590
591
resource "hetznerdns_record" "archlinux_org_master_key_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "master-key"
  ttl     = 600
592
  value   = hcloud_server.archlinux.ipv6_address
593
594
595
  type    = "AAAA"
}

596
597
resource "hetznerdns_record" "archlinux_org_matrix_a" {
  zone_id = hetznerdns_zone.archlinux.id
598
599
600
  name    = "matrix"
  value   = hcloud_server.matrix.ipv4_address
  type    = "A"
601
602
}

603
604
605
606
607
608
609
resource "hetznerdns_record" "archlinux_org_matrix_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "matrix"
  value   = hcloud_server.matrix.ipv6_address
  type    = "AAAA"
}

610
611
resource "hetznerdns_record" "archlinux_org_monitoring_a" {
  zone_id = hetznerdns_zone.archlinux.id
612
613
614
  name    = "monitoring"
  value   = hcloud_server.monitoring.ipv4_address
  type    = "A"
615
616
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
617
618
resource "hetznerdns_record" "archlinux_org_monitoring_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
619
620
621
  name    = "monitoring"
  value   = hcloud_server.monitoring.ipv6_address
  type    = "AAAA"
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
622
623
}

624
resource "hetznerdns_record" "archlinux_org_mail_a" {
625
  zone_id = hetznerdns_zone.archlinux.id
626
  name    = "mail"
627
  ttl     = 600
628
  value   = hcloud_server.mail.ipv4_address
629
  type    = "A"
630
631
}

632
resource "hetznerdns_record" "archlinux_org_mail_aaaa" {
633
  zone_id = hetznerdns_zone.archlinux.id
634
  name    = "mail"
635
  ttl     = 600
636
  value   = hcloud_server.mail.ipv6_address
637
  type    = "AAAA"
638
639
}

640
resource "hetznerdns_record" "archlinux_org_mtasts_cname" {
641
642
  for_each = toset(["", ".aur", ".master-key", ".lists"])

643
  zone_id = hetznerdns_zone.archlinux.id
644
  name    = "mta-sts${each.value}"
645
646
647
648
649
  value   = "mail"
  type    = "CNAME"
}

resource "hetznerdns_record" "archlinux_org__mtasts_txt" {
650
651
  for_each = toset(["", ".aur", ".master-key", ".lists"])

652
  zone_id = hetznerdns_zone.archlinux.id
653
  name    = "_mta-sts${each.value}"
654
655
656
657
658
659
  ttl     = 600
  # date +%s
  value = "\"v=STSv1; id=1608210175\""
  type  = "TXT"
}

660
661
662
resource "hetznerdns_record" "archlinux_org_origin_mx" {
  for_each = toset(["@", "aur", "master-key"])

663
  zone_id = hetznerdns_zone.archlinux.id
664
  name    = each.value
665
  ttl     = 600
666
667
  value   = "10 mail"
  type    = "MX"
668
669
}

670
671
672
resource "hetznerdns_record" "archlinux_org_origin_txt" {
  for_each = toset(["@", "aur", "mail", "master-key"])

673
  zone_id = hetznerdns_zone.archlinux.id
674
  name    = each.value
675
  ttl     = 600
676
677
678
  # mail.archlinux.org
  value = "\"v=spf1 ip4:95.216.189.61 ip6:2a01:4f9:c010:3052::1 ~all\""
  type  = "TXT"
679
680
}

681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
resource "hetznerdns_record" "archlinux_org_domainkey_dkim-ed25519_txt" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "dkim-ed25519._domainkey"
  ttl     = 600
  value   = "\"v=DKIM1; k=ed25519; \" \"p=XOHB7b7V1puX+FryNIhsjXHYIFqk+q6JRu4XQ7Jc8MQ=\" "
  type    = "TXT"
}

resource "hetznerdns_record" "archlinux_org_domainkey_dkim-rsa_txt" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "dkim-rsa._domainkey"
  ttl     = 600
  value   = "\"v=DKIM1; k=rsa; \" \"p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1GjGrEczq7iHZbvT7wa4ltJz2jwSndUGdRHgfEPnGBeevOXEAlEFr4zsdkfZEaNaQLIhZNpvKAt/A+kkyalkj4u9AnxqeNsNmZflFl6TKgvh0tWNEP3+XNxfdQ7zfml4WggL/YdAjXngg42oZEUsnS/6iozOFn7bNvzqBx5PFJ21pgyuR8DWyLaeOt+p55dVed7DCKnKi11Xjiu7k\" \"H68W8rose7g8Fv9fecBatEE4jwloOXsjh+tH0iab1NSSSpIq6EdgcPrpmrllN3/n2J/kCGK6ztISB6vR7xWgvgHSMjmEL0GPWzohGPrw2UQhZhrNV8dJpiLRYmfK+rXaKF0Kqag/F0e4C4jCKFX7NYFcYXYRlN5QlDFjZvUmOILlgnZ8w/SdZUKzpLObGuwnANLG+WSOjw42p9mXVGN6AfOQPu8OjRjS1MyhcdDIbUvZiQjbmiVJ5frpYZ39BTg\" \"CIzYLJJ5932+3gnwROu1OeljWkpBkfHZXPzADus80l3Vxsk91XZVB36rN8tyuMownR/M4HNC7ZE/EBwOnn1mGH7bLd6pva8u5Qy8Y6LrDdYea5Kk7aZ2WJSSRTV+nkPvOEIx+DfsIWNfmkVWzmuVky96fRvwOCuh38w8zpmlqzhDuGSQrBaLFXwAC7LYQ6kPDHzrjQhs99ScR0ix6YclrmpimMcCAwEAAQ==\" "
  type    = "TXT"
}

697
698
699
700
701
702
703
resource "hetznerdns_record" "archlinux_org_dmarc_txt" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "_dmarc"
  value   = "\"v=DMARC1; p=none; rua=mailto:dmarc-reports@archlinux.org; ruf=mailto:dmarc-reports@archlinux.org;\""
  type    = "TXT"
}

Kristian Klausen's avatar
Kristian Klausen committed
704
resource "hetznerdns_record" "archlinux_org_smtp_tlsrpt_txt" {
705
706
  for_each = toset(["", ".aur", ".master-key", ".lists"])

Kristian Klausen's avatar
Kristian Klausen committed
707
  zone_id = hetznerdns_zone.archlinux.id
708
  name    = "_smtp._tls${each.value}"
Kristian Klausen's avatar
Kristian Klausen committed
709
710
711
712
  value   = "\"v=TLSRPTv1;rua=mailto:postmaster@archlinux.org\""
  type    = "TXT"
}

713
714
715
716
717
718
719
720
721
722
723
724
725
726
resource "hetznerdns_record" "archlinux_org_openpgpkey_a" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "openpgpkey"
  value   = hcloud_server.openpgpkey.ipv4_address
  type    = "A"
}

resource "hetznerdns_record" "archlinux_org_openpgpkey_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "openpgpkey"
  value   = hcloud_server.openpgpkey.ipv6_address
  type    = "AAAA"
}

727
728
resource "hetznerdns_record" "archlinux_org_phrik_a" {
  zone_id = hetznerdns_zone.archlinux.id
729
730
731
  name    = "phrik"
  value   = hcloud_server.phrik.ipv4_address
  type    = "A"
732
733
}

734
735
736
737
resource "hetznerdns_record" "archlinux_org_phrik_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "phrik"
  value   = hcloud_server.phrik.ipv6_address
Frederik Schwan's avatar
Frederik Schwan committed
738
  type    = "AAAA"
739
740
}

741
742
resource "hetznerdns_record" "archlinux_org_quassel_a" {
  zone_id = hetznerdns_zone.archlinux.id
743
744
745
  name    = "quassel"
  value   = hcloud_server.quassel.ipv4_address
  type    = "A"
746
747
748
749
}

resource "hetznerdns_record" "archlinux_org_quassel_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
750
751
752
  name    = "quassel"
  value   = hcloud_server.quassel.ipv6_address
  type    = "AAAA"
753
754
755
756
}

resource "hetznerdns_record" "archlinux_org_reproducible_a" {
  zone_id = hetznerdns_zone.archlinux.id
757
758
759
  name    = "reproducible"
  value   = hcloud_server.reproducible.ipv4_address
  type    = "A"
760
761
}

762
763
764
765
resource "hetznerdns_record" "archlinux_org_reproducible_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "reproducible"
  value   = hcloud_server.reproducible.ipv6_address
Frederik Schwan's avatar
Frederik Schwan committed
766
  type    = "AAAA"
767
768
}

Jelle van der Waa's avatar
Jelle van der Waa committed
769
770
771
772
773
774
775
resource "hetznerdns_record" "archlinux_org_runner1_a" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "runner1"
  value   = "84.17.49.250"
  type    = "A"
}

776
777
778
779
780
781
782
resource "hetznerdns_record" "archlinux_org_runner1_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "runner1"
  value   = "2a02:6ea0:c719::2"
  type    = "AAAA"
}

783
784
resource "hetznerdns_record" "archlinux_org_runner2_a" {
  zone_id = hetznerdns_zone.archlinux.id
785
786
787
  name    = "runner2"
  value   = "147.75.80.217"
  type    = "A"
788
789
790
791
}

resource "hetznerdns_record" "archlinux_org_runner2_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
792
793
794
  name    = "runner2"
  value   = "2604:1380:2001:4500::3"
  type    = "AAAA"
795
796
797
798
}

resource "hetznerdns_record" "archlinux_org_secure_runner1_a" {
  zone_id = hetznerdns_zone.archlinux.id
799
800
801
  name    = "secure-runner1"
  value   = "116.202.134.150"
  type    = "A"
802
803
804
805
}

resource "hetznerdns_record" "archlinux_org_secure_runner1_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
806
807
808
  name    = "secure-runner1"
  value   = "2a01:4f8:231:4e1e::2"
  type    = "AAAA"
809
810
}

811
812
resource "hetznerdns_record" "archlinux_org_svn2gittest_a" {
  zone_id = hetznerdns_zone.archlinux.id
813
814
815
  name    = "svn2gittest"
  value   = hcloud_server.svn2gittest.ipv4_address
  type    = "A"
816
817
818
819
}

resource "hetznerdns_record" "archlinux_org_svn2gittest_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
820
821
822
  name    = "svn2gittest"
  value   = hcloud_server.svn2gittest.ipv6_address
  type    = "AAAA"
823
824
}

825
826
resource "hetznerdns_record" "archlinux_org_state_a" {
  zone_id = hetznerdns_zone.archlinux.id
827
828
829
  name    = "state"
  value   = "116.203.16.252"
  type    = "A"
830
831
832
833
}

resource "hetznerdns_record" "archlinux_org_state_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
834
835
836
  name    = "state"
  value   = "2a01:4f8:c2c:474::1"
  type    = "AAAA"
837
838
839
840
}

resource "hetznerdns_record" "archlinux_org_archive_cname" {
  zone_id = hetznerdns_zone.archlinux.id
841
842
843
  name    = "archive"
  value   = "gemini"
  type    = "CNAME"
844
845
846
847
}

resource "hetznerdns_record" "archlinux_org_dev_cname" {
  zone_id = hetznerdns_zone.archlinux.id
848
  name    = "dev"
849
  ttl     = 600
850
  value   = "www"
851
  type    = "CNAME"
852
853
854
855
}

resource "hetznerdns_record" "archlinux_org_g2kjxsblac7x_cname" {
  zone_id = hetznerdns_zone.archlinux.id
856
857
858
  name    = "g2kjxsblac7x"
  value   = "gv-i5y6mnrelvpfiu.dv.googlehosted.com."
  type    = "CNAME"
859
860
861
862
}

resource "hetznerdns_record" "archlinux_org_git_cname" {
  zone_id = hetznerdns_zone.archlinux.id
863
864
865
  name    = "git"
  value   = "luna"
  type    = "CNAME"
866
867
868
869
}

resource "hetznerdns_record" "archlinux_org_grafana_cname" {
  zone_id = hetznerdns_zone.archlinux.id
870
871
872
  name    = "grafana"
  value   = "apollo"
  type    = "CNAME"
873
874
875
876
}

resource "hetznerdns_record" "archlinux_org_ipxe_cname" {
  zone_id = hetznerdns_zone.archlinux.id
877
  name    = "ipxe"
878
  ttl     = 600
879
  value   = "www"
880
  type    = "CNAME"
881
882
883
884
}

resource "hetznerdns_record" "archlinux_org_luna2_domainkey_aur_cname" {
  zone_id = hetznerdns_zone.archlinux.id
885
886
887
  name    = "luna2._domainkey.aur"
  value   = "luna2._domainkey"
  type    = "CNAME"
888
889
890
891
}

resource "hetznerdns_record" "archlinux_org_luna2_domainkey_lists_cname" {
  zone_id = hetznerdns_zone.archlinux.id
892
893
894
  name    = "luna2._domainkey.lists"
  value   = "luna2._domainkey"
  type    = "CNAME"
895
896
897
898
}

resource "hetznerdns_record" "archlinux_org_mailman_cname" {
  zone_id = hetznerdns_zone.archlinux.id
899
900
901
  name    = "mailman"
  value   = "apollo"
  type    = "CNAME"
902
903
904
905
}

resource "hetznerdns_record" "archlinux_org_packages_cname" {
  zone_id = hetznerdns_zone.archlinux.id
906
  name    = "packages"
907
  ttl     = 600
908
  value   = "www"
909
  type    = "CNAME"
910
911
}

912
resource "hetznerdns_record" "archlinux_org_patchwork_a" {
913
  zone_id = hetznerdns_zone.archlinux.id
914
  name    = "patchwork"
915
  ttl     = 600
916
917
918
919
920
921
922
923
924
925
  value   = hcloud_server.patchwork.ipv4_address
  type    = "A"
}

resource "hetznerdns_record" "archlinux_org_patchwork_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "patchwork"
  ttl     = 600
  value   = hcloud_server.patchwork.ipv6_address
  type    = "AAAA"
926
927
928
929
}

resource "hetznerdns_record" "archlinux_org_planet_cname" {
  zone_id = hetznerdns_zone.archlinux.id
930
  name    = "planet"
931
  ttl     = 600
932
  value   = "www"
933
  type    = "CNAME"
934
935
936
937
}

resource "hetznerdns_record" "archlinux_org_projects_cname" {
  zone_id = hetznerdns_zone.archlinux.id
938
939
940
  name    = "projects"
  value   = "luna"
  type    = "CNAME"
941
942
943
944
}

resource "hetznerdns_record" "archlinux_org_repos_cname" {
  zone_id = hetznerdns_zone.archlinux.id
945
946
947
  name    = "repos"
  value   = "gemini"
  type    = "CNAME"
948
949
950
951
}

resource "hetznerdns_record" "archlinux_org_rsync_cname" {
  zone_id = hetznerdns_zone.archlinux.id
952
953
954
  name    = "rsync"
  value   = "gemini"
  type    = "CNAME"
955
956
}

957
resource "hetznerdns_record" "archlinux_org_security_a" {
958
  zone_id = hetznerdns_zone.archlinux.id
959
  name    = "security"
960
  ttl     = 600
961
962
963
964
965
966
967
968
969
970
  value   = hcloud_server.security.ipv4_address
  type    = "A"
}

resource "hetznerdns_record" "archlinux_org_security_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "security"
  ttl     = 600
  value   = hcloud_server.security.ipv6_address
  type    = "AAAA"
971
972
973
974
}

resource "hetznerdns_record" "archlinux_org_sources_cname" {
  zone_id = hetznerdns_zone.archlinux.id
975
976
977
  name    = "sources"
  value   = "gemini"
  type    = "CNAME"
978
979
980
981
}

resource "hetznerdns_record" "archlinux_org_static_cname" {
  zone_id = hetznerdns_zone.archlinux.id
982
983
984
  name    = "static"
  value   = "apollo"
  type    = "CNAME"
985
986
987
988
}

resource "hetznerdns_record" "archlinux_org_static_conf_cname" {
  zone_id = hetznerdns_zone.archlinux.id
989
990
991
  name    = "static.conf"
  value   = "apollo"
  type    = "CNAME"
992
993
994
995
}

resource "hetznerdns_record" "archlinux_org_status_cname" {
  zone_id = hetznerdns_zone.archlinux.id
996
997
998
  name    = "status"
  value   = "stats.uptimerobot.com."
  type    = "CNAME"
999
1000
1001
1002
}

resource "hetznerdns_record" "archlinux_org_svn_cname" {
  zone_id = hetznerdns_zone.archlinux.id
1003
1004
1005
  name    = "svn"
  value   = "gemini"
  type    = "CNAME"
1006
1007
}

1008
resource "hetznerdns_record" "archlinux_org_wiki_a" {
1009
  zone_id = hetznerdns_zone.archlinux.id
1010
  name    = "wiki"
1011
  ttl     = 600
1012
  value   = hcloud_server.archwiki.ipv4_address
1013
1014
1015
1016
1017
1018
1019
  type    = "A"
}

resource "hetznerdns_record" "archlinux_org_wiki_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "wiki"
  ttl     = 600
1020
  value   = hcloud_server.archwiki.ipv6_address
1021
  type    = "AAAA"
1022
1023
}

1024
resource "hetznerdns_record" "archlinux_org_www_a" {
1025
  zone_id = hetznerdns_zone.archlinux.id
1026
  name    = "www"
1027
  ttl     = 600
1028
  value   = hcloud_server.archlinux.ipv4_address
1029
1030
1031
1032
1033
1034
1035
  type    = "A"
}

resource "hetznerdns_record" "archlinux_org_www_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "www"
  ttl     = 600
1036
  value   = hcloud_server.archlinux.ipv6_address
1037
  type    = "AAAA"
1038
1039
1040
1041
}

resource "hetznerdns_record" "archlinux_org_matrix_tcp_srv" {
  zone_id = hetznerdns_zone.archlinux.id
1042
1043
1044
  name    = "_matrix._tcp"
  value   = "10 0 8448 matrix"
  type    = "SRV"
1045
1046
1047
1048
}

resource "hetznerdns_record" "archlinux_org_github_challenge_archlinux" {
  zone_id = hetznerdns_zone.archlinux.id
1049
1050
1051
  name    = "_github-challenge-archlinux"
  value   = "\"824af4446e\""
  type    = "TXT"
1052
1053
1054
1055
}

resource "hetznerdns_record" "archlinux_org_github_challenge_archlinux_www" {
  zone_id = hetznerdns_zone.archlinux.id
1056
1057
1058
  name    = "_github-challenge-archlinux.www"
  value   = "\"b53f311f86\""
  type    = "TXT"
1059
1060
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
1061
resource "hcloud_rdns" "quassel_ipv4" {
1062
1063
  server_id  = hcloud_server.quassel.id
  ip_address = hcloud_server.quassel.ipv4_address
1064
  dns_ptr    = "quassel.archlinux.org"
1065
1066
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
1067
1068
1069
1070
1071
1072
resource "hcloud_rdns" "quassel_ipv6" {
  server_id  = hcloud_server.quassel.id
  ip_address = hcloud_server.quassel.ipv6_address
  dns_ptr    = "quassel.archlinux.org"
}

Jelle van der Waa's avatar
Jelle van der Waa committed
1073
resource "hcloud_server" "quassel" {
1074
  name        = "quassel.archlinux.org"
1075
  image       = data.hcloud_image.archlinux.id
Jelle van der Waa's avatar
Jelle van der Waa committed
1076
  server_type = "cx11"
1077
1078
1079
  lifecycle {
    ignore_changes = [image]
  }
Jelle van der Waa's avatar
Jelle van der Waa committed
1080
}
Jelle van der Waa's avatar
Jelle van der Waa committed
1081

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
1082
resource "hcloud_rdns" "phrik_ipv4" {
1083
1084
  server_id  = hcloud_server.phrik.id
  ip_address = hcloud_server.phrik.ipv4_address
Jelle van der Waa's avatar
Jelle van der Waa committed
1085
1086
1087
  dns_ptr    = "phrik.archlinux.org"
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
1088
1089
1090
1091
1092
1093
resource "hcloud_rdns" "phrik_ipv6" {
  server_id  = hcloud_server.phrik.id
  ip_address = hcloud_server.phrik.ipv6_address
  dns_ptr    = "phrik.archlinux.org"
}

Jelle van der Waa's avatar
Jelle van der Waa committed
1094
1095
resource "hcloud_server" "phrik" {
  name        = "phrik.archlinux.org"
1096
  image       = data.hcloud_image.archlinux.id
Jelle van der Waa's avatar
Jelle van der Waa committed
1097
  server_type = "cx11"
1098
1099
1100
  lifecycle {
    ignore_changes = [image]
  }
Jelle van der Waa's avatar
Jelle van der Waa committed
1101
}
Jelle van der Waa's avatar
Jelle van der Waa committed
1102

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
1103
resource "hcloud_rdns" "bbs_ipv4" {
1104
1105
  server_id  = hcloud_server.bbs.id
  ip_address = hcloud_server.bbs.ipv4_address
Jelle van der Waa's avatar
Jelle van der Waa committed
1106
1107
1108
  dns_ptr    = "bbs.archlinux.org"
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
1109
1110
1111
1112
1113
1114
resource "hcloud_rdns" "bbs_ipv6" {
  server_id  = hcloud_server.bbs.id
  ip_address = hcloud_server.bbs.ipv6_address
  dns_ptr    = "bbs.archlinux.org"
}

Jelle van der Waa's avatar
Jelle van der Waa committed
1115
1116
resource "hcloud_server" "bbs" {
  name        = "bbs.archlinux.org"
1117
  image       = data.hcloud_image.archlinux.id
Jelle van der Waa's avatar
Jelle van der Waa committed
1118
  server_type = "cx21"
1119
1120
1121
1122
1123
  lifecycle {
    ignore_changes = [image]
  }
}

1124

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
1125
resource "hcloud_rdns" "gitlab_ipv4" {
1126
1127
  server_id  = hcloud_server.gitlab.id
  ip_address = hcloud_server.gitlab.ipv4_address
1128
1129
1130
  dns_ptr    = "gitlab.archlinux.org"
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
1131
1132
1133
1134
1135
1136
resource "hcloud_rdns" "gitlab_ipv6" {
  server_id  = hcloud_server.gitlab.id
  ip_address = hcloud_server.gitlab.ipv6_address
  dns_ptr    = "gitlab.archlinux.org"
}

1137
1138
resource "hcloud_server" "gitlab" {
  name        = "gitlab.archlinux.org"
1139
  image       = data.hcloud_image.archlinux.id
1140
  server_type = "cx51"
1141
1142
1143
  lifecycle {
    ignore_changes = [image]
  }
Jelle van der Waa's avatar
Jelle van der Waa committed
1144
}
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
1145

1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
resource "hetznerdns_record" "archlinux_org_gitlab_pages_a" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "pages"
  value   = hcloud_floating_ip.gitlab_pages.ip_address
  type    = "A"
}

resource "hetznerdns_record" "archlinux_org_gitlab_pages_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "pages"
  value   = var.gitlab_pages_ipv6
  type    = "AAAA"
}