archlinux.tf 33.7 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
30
31
  token = data.external.vault_hetzner.result.hetzner_cloud_api_key
}

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

resource "hetznerdns_zone" "archlinux" {
  name = "archlinux.org"
32
  ttl  = 86400
33
34
35
36
}

resource "hetznerdns_zone" "pkgbuild" {
  name = "pkgbuild.com"
37
  ttl  = 86400
38
39
40
41
}

resource "hetznerdns_record" "pkgbuild_com_origin_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
42
43
44
  name    = "@"
  value   = "78.46.178.133"
  type    = "A"
45
46
47
48
}

resource "hetznerdns_record" "pkgbuild_com_origin_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
49
50
51
  name    = "@"
  value   = "2a01:4f8:c2c:51e2::1"
  type    = "AAAA"
52
53
54
55
}

resource "hetznerdns_record" "pkgbuild_com_origin_caa" {
  zone_id = hetznerdns_zone.pkgbuild.id
56
57
58
  name    = "@"
  value   = "0 issue \"letsencrypt.org\""
  type    = "CAA"
59
60
61
62
}

resource "hetznerdns_record" "pkgbuild_com_origin_mx" {
  zone_id = hetznerdns_zone.pkgbuild.id
63
64
65
  name    = "@"
  value   = "0 ."
  type    = "MX"
66
67
68
69
}

resource "hetznerdns_record" "pkgbuild_com_origin_ns3" {
  zone_id = hetznerdns_zone.pkgbuild.id
70
71
72
  name    = "@"
  value   = "robotns3.second-ns.com."
  type    = "NS"
73
74
75
76
}

resource "hetznerdns_record" "pkgbuild_com_origin_ns2" {
  zone_id = hetznerdns_zone.pkgbuild.id
77
78
79
  name    = "@"
  value   = "robotns2.second-ns.de."
  type    = "NS"
80
81
82
83
}

resource "hetznerdns_record" "pkgbuild_com_origin_ns1" {
  zone_id = hetznerdns_zone.pkgbuild.id
84
85
86
  name    = "@"
  value   = "ns1.first-ns.de."
  type    = "NS"
87
88
}

89
90
91
92
93
94
95
96
97
# 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"
# }
98
99
100

resource "hetznerdns_record" "pkgbuild_com_origin_txt" {
  zone_id = hetznerdns_zone.pkgbuild.id
101
102
103
  name    = "@"
  value   = "\"v=spf1 -all\""
  type    = "TXT"
104
105
106
107
}

resource "hetznerdns_record" "pkgbuild_com_wildcard_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
108
109
110
  name    = "*"
  value   = "78.46.178.133"
  type    = "A"
111
112
113
114
}

resource "hetznerdns_record" "pkgbuild_com_wildcard_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
115
116
117
  name    = "*"
  value   = "2a01:4f8:c2c:51e2::1"
  type    = "AAAA"
118
119
120
121
}

resource "hetznerdns_record" "pkgbuild_com_mirror_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
122
123
124
  name    = "mirror"
  value   = "78.46.209.220"
  type    = "A"
125
126
127
128
}

resource "hetznerdns_record" "pkgbuild_com_mirror_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
129
130
131
  name    = "mirror"
  value   = "2a01:4f8:c2c:c62f::1"
  type    = "AAAA"
132
133
134
135
}

resource "hetznerdns_record" "pkgbuild_com_repro3_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
136
137
138
  name    = "repro3"
  value   = "147.75.81.79"
  type    = "A"
139
140
141
142
}

resource "hetznerdns_record" "pkgbuild_com_repro3_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
143
144
145
  name    = "repro3"
  value   = "2604:1380:2001:4500::1"
  type    = "AAAA"
146
147
148
149
}

resource "hetznerdns_record" "pkgbuild_com_www_a" {
  zone_id = hetznerdns_zone.pkgbuild.id
150
151
152
  name    = "www"
  value   = "78.46.178.133"
  type    = "A"
153
154
155
156
}

resource "hetznerdns_record" "pkgbuild_com_www_aaaa" {
  zone_id = hetznerdns_zone.pkgbuild.id
157
158
159
  name    = "www"
  value   = "2a01:4f8:c2c:51e2::1"
  type    = "AAAA"
160
161
162
163
}

resource "hetznerdns_record" "archlinux_org_origin_a" {
  zone_id = hetznerdns_zone.archlinux.id
164
165
166
  name    = "@"
  value   = "138.201.81.199"
  type    = "A"
167
168
169
170
}

resource "hetznerdns_record" "archlinux_org_origin_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
171
172
173
  name    = "@"
  value   = "2a01:4f8:172:1d86::1"
  type    = "AAAA"
174
175
176
177
}

resource "hetznerdns_record" "archlinux_org_origin_caa" {
  zone_id = hetznerdns_zone.archlinux.id
178
179
180
  name    = "@"
  value   = "0 issue \"letsencrypt.org\""
  type    = "CAA"
181
182
183
184
}

resource "hetznerdns_record" "archlinux_org_origin_mx" {
  zone_id = hetznerdns_zone.archlinux.id
185
  name    = "@"
186
  ttl     = 600
Frederik Schwan's avatar
Frederik Schwan committed
187
  value   = "10 mail"
188
  type    = "MX"
189
190
191
192
}

resource "hetznerdns_record" "archlinux_org_origin_ns3" {
  zone_id = hetznerdns_zone.archlinux.id
193
194
195
  name    = "@"
  value   = "robotns3.second-ns.com."
  type    = "NS"
196
197
198
199
}

resource "hetznerdns_record" "archlinux_org_origin_ns2" {
  zone_id = hetznerdns_zone.archlinux.id
200
201
202
  name    = "@"
  value   = "robotns2.second-ns.de."
  type    = "NS"
203
204
205
206
}

resource "hetznerdns_record" "archlinux_org_origin_ns1" {
  zone_id = hetznerdns_zone.archlinux.id
207
208
209
  name    = "@"
  value   = "ns1.first-ns.de."
  type    = "NS"
210
211
}

212
213
214
215
216
217
218
219
220
# 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"
# }
221
222
223

resource "hetznerdns_record" "archlinux_org_origin_apollo_domainkey_txt" {
  zone_id = hetznerdns_zone.archlinux.id
224
  name    = "apollo._domainkey"
225
  ttl     = 600
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
226
  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==\" "
227
  type    = "TXT"
228
229
230
231
}

resource "hetznerdns_record" "archlinux_org_accounts_a" {
  zone_id = hetznerdns_zone.archlinux.id
232
233
234
  name    = "accounts"
  value   = hcloud_server.accounts.ipv4_address
  type    = "A"
235
236
237
238
}

resource "hetznerdns_record" "archlinux_org_accounts_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
239
240
241
  name    = "accounts"
  value   = hcloud_server.accounts.ipv6_address
  type    = "AAAA"
242
243
244
245
}

resource "hetznerdns_record" "archlinux_org_apollo_a" {
  zone_id = hetznerdns_zone.archlinux.id
246
  name    = "apollo"
247
  ttl     = 600
248
249
  value   = "138.201.81.199"
  type    = "A"
250
251
252
253
}

resource "hetznerdns_record" "archlinux_org_apollo_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
254
  name    = "apollo"
255
  ttl     = 600
256
257
  value   = "2a01:4f8:172:1d86::1"
  type    = "AAAA"
258
259
260
261
}

resource "hetznerdns_record" "archlinux_org_archive_gemini_a" {
  zone_id = hetznerdns_zone.archlinux.id
262
263
264
  name    = "archive.gemini"
  value   = "49.12.124.107"
  type    = "A"
265
266
267
268
}

resource "hetznerdns_record" "archlinux_org_aur_a" {
  zone_id = hetznerdns_zone.archlinux.id
269
270
271
  name    = "aur"
  value   = hcloud_server.aur.ipv4_address
  type    = "A"
272
273
274
275
}

resource "hetznerdns_record" "archlinux_org_aur_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
276
277
278
  name    = "aur"
  value   = hcloud_server.aur.ipv6_address
  type    = "AAAA"
279
280
281
282
}

resource "hetznerdns_record" "archlinux_org_aur_mx" {
  zone_id = hetznerdns_zone.archlinux.id
283
  name    = "aur"
284
  ttl     = 600
285
  value   = "10 mail"
286
  type    = "MX"
287
288
289
290
}

resource "hetznerdns_record" "archlinux_org_aur_txt" {
  zone_id = hetznerdns_zone.archlinux.id
291
  name    = "aur"
292
  ttl     = 600
293
294
  value   = "\"v=spf1 a ?all\""
  type    = "TXT"
295
296
297
298
}

resource "hetznerdns_record" "archlinux_org_aur_dev_a" {
  zone_id = hetznerdns_zone.archlinux.id
299
300
301
  name    = "aur-dev"
  value   = hcloud_server.aur-dev.ipv4_address
  type    = "A"
302
303
304
305
}

resource "hetznerdns_record" "archlinux_org_aur_dev_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
306
307
308
  name    = "aur-dev"
  value   = hcloud_server.aur-dev.ipv6_address
  type    = "AAAA"
309
310
311
312
}

resource "hetznerdns_record" "archlinux_org_aur4_a" {
  zone_id = hetznerdns_zone.archlinux.id
313
314
315
  name    = "aur4"
  value   = "5.9.250.164"
  type    = "A"
316
317
318
319
}

resource "hetznerdns_record" "archlinux_org_aur4_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
320
321
322
  name    = "aur4"
  value   = "2a01:4f8:160:3033::2"
  type    = "AAAA"
323
324
325
326
}

resource "hetznerdns_record" "archlinux_org_bbs_a" {
  zone_id = hetznerdns_zone.archlinux.id
327
328
329
  name    = "bbs"
  value   = hcloud_server.bbs.ipv4_address
  type    = "A"
330
331
332
333
}

resource "hetznerdns_record" "archlinux_org_bbs_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
334
335
336
  name    = "bbs"
  value   = hcloud_server.bbs.ipv6_address
  type    = "AAAA"
337
338
339
340
}

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

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

resource "hetznerdns_record" "archlinux_org_dragon_a" {
  zone_id = hetznerdns_zone.archlinux.id
355
356
357
  name    = "dragon"
  value   = "195.201.167.210"
  type    = "A"
358
359
360
361
}

resource "hetznerdns_record" "archlinux_org_dragon_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
362
363
364
  name    = "dragon"
  value   = "2a01:4f8:13a:102a::2"
  type    = "AAAA"
365
366
367
368
}

resource "hetznerdns_record" "archlinux_org_gemini_a" {
  zone_id = hetznerdns_zone.archlinux.id
369
370
371
  name    = "gemini"
  value   = "49.12.124.107"
  type    = "A"
372
373
374
375
}

resource "hetznerdns_record" "archlinux_org_gemini_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
376
377
378
  name    = "gemini"
  value   = "2a01:4f8:242:5614::2"
  type    = "AAAA"
379
380
381
382
}

resource "hetznerdns_record" "archlinux_org_gitlab_a" {
  zone_id = hetznerdns_zone.archlinux.id
383
384
385
  name    = "gitlab"
  value   = hcloud_server.gitlab.ipv4_address
  type    = "A"
386
387
388
389
}

resource "hetznerdns_record" "archlinux_org_gitlab_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
390
391
392
  name    = "gitlab"
  value   = hcloud_server.gitlab.ipv6_address
  type    = "AAAA"
393
394
395
396
}

resource "hetznerdns_record" "archlinux_org_homedir_a" {
  zone_id = hetznerdns_zone.archlinux.id
397
398
399
  name    = "homedir"
  value   = hcloud_server.homedir.ipv4_address
  type    = "A"
400
401
402
403
}

resource "hetznerdns_record" "archlinux_org_homedir_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
404
405
406
  name    = "homedir"
  value   = hcloud_server.homedir.ipv6_address
  type    = "AAAA"
407
408
409
410
}

resource "hetznerdns_record" "archlinux_org_lists_a" {
  zone_id = hetznerdns_zone.archlinux.id
411
412
413
  name    = "lists"
  value   = "5.9.250.164"
  type    = "A"
414
415
416
417
}

resource "hetznerdns_record" "archlinux_org_lists_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
418
419
420
  name    = "lists"
  value   = "2a01:4f8:160:3033::2"
  type    = "AAAA"
421
422
423
424
}

resource "hetznerdns_record" "archlinux_org_lists_mx" {
  zone_id = hetznerdns_zone.archlinux.id
425
  name    = "lists"
426
  ttl     = 600
427
428
  value   = "10 luna"
  type    = "MX"
429
430
431
432
}

resource "hetznerdns_record" "archlinux_org_luna_a" {
  zone_id = hetznerdns_zone.archlinux.id
433
  name    = "luna"
434
  ttl     = 600
435
436
  value   = "5.9.250.164"
  type    = "A"
437
438
439
440
}

resource "hetznerdns_record" "archlinux_org_luna_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
441
  name    = "luna"
442
  ttl     = 600
443
444
  value   = "2a01:4f8:160:3033::2"
  type    = "AAAA"
445
446
447
448
}

resource "hetznerdns_record" "archlinux_org_luna_txt" {
  zone_id = hetznerdns_zone.archlinux.id
449
  name    = "luna._domainkey"
450
  ttl     = 600
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
451
  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==\" "
452
  type    = "TXT"
453
454
455
456
}

resource "hetznerdns_record" "archlinux_org_luna2_txt" {
  zone_id = hetznerdns_zone.archlinux.id
457
  name    = "luna2._domainkey"
458
  ttl     = 600
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
459
  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==\" "
460
  type    = "TXT"
461
462
463
464
}

resource "hetznerdns_record" "archlinux_org_mailman3_a" {
  zone_id = hetznerdns_zone.archlinux.id
465
466
467
  name    = "mailman3"
  value   = hcloud_server.mailman3.ipv4_address
  type    = "A"
468
469
470
471
}

resource "hetznerdns_record" "archlinux_org_master_key_a" {
  zone_id = hetznerdns_zone.archlinux.id
472
473
474
  name    = "master-key"
  value   = "138.201.81.199"
  type    = "A"
475
476
477
478
}

resource "hetznerdns_record" "archlinux_org_master_key_mx" {
  zone_id = hetznerdns_zone.archlinux.id
479
  name    = "master-key"
480
  ttl     = 600
481
  value   = "10 mail"
482
  type    = "MX"
483
484
485
486
}

resource "hetznerdns_record" "archlinux_org_matrix_a" {
  zone_id = hetznerdns_zone.archlinux.id
487
488
489
  name    = "matrix"
  value   = hcloud_server.matrix.ipv4_address
  type    = "A"
490
491
492
493
}

resource "hetznerdns_record" "archlinux_org_monitoring_a" {
  zone_id = hetznerdns_zone.archlinux.id
494
495
496
  name    = "monitoring"
  value   = hcloud_server.monitoring.ipv4_address
  type    = "A"
497
498
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
499
500
resource "hetznerdns_record" "archlinux_org_monitoring_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
501
502
503
  name    = "monitoring"
  value   = hcloud_server.monitoring.ipv6_address
  type    = "AAAA"
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
504
505
}

506
resource "hetznerdns_record" "archlinux_org_mail_a" {
507
  zone_id = hetznerdns_zone.archlinux.id
508
  name    = "mail"
509
  ttl     = 600
510
  value   = "95.216.189.61"
511
  type    = "A"
512
513
}

514
resource "hetznerdns_record" "archlinux_org_mail_aaaa" {
515
  zone_id = hetznerdns_zone.archlinux.id
516
  name    = "mail"
517
  ttl     = 600
518
  value   = "2a01:4f9:c010:3052::1"
519
  type    = "AAAA"
520
521
}

522
523
524
525
526
527
528
529
530
resource "hetznerdns_record" "archlinux_org_origin_txt" {
  zone_id = hetznerdns_zone.archlinux.id
  name    = "@"
  ttl     = 600
  value   = "\"v=spf1 ip4:66.211.214.132/28 ip4:5.9.250.164 ip6:2a01:4f8:160:3033::2 ip4:138.201.81.199/32 ip4:88.198.91.70/32 ip4:95.216.189.61 ip6:2a01:4f9:c010:3052::1 a:aur.archlinux.org a:apollo.archlinux.org ~all\""
  type    = "TXT"
}

resource "hetznerdns_record" "archlinux_org_mail_txt" {
531
532
533
  zone_id = hetznerdns_zone.archlinux.id
  name    = "mail"
  ttl     = 600
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
534
  value   = "\"v=spf1 include:archlinux.org -all\""
535
536
537
  type    = "TXT"
}

538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
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"
}

554
555
556
557
558
559
560
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"
}

561
562
563
564
565
566
567
568
569
570
571
572
573
574
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"
}

575
576
resource "hetznerdns_record" "archlinux_org_phrik_a" {
  zone_id = hetznerdns_zone.archlinux.id
577
578
579
  name    = "phrik"
  value   = hcloud_server.phrik.ipv4_address
  type    = "A"
580
581
582
583
}

resource "hetznerdns_record" "archlinux_org_quassel_a" {
  zone_id = hetznerdns_zone.archlinux.id
584
585
586
  name    = "quassel"
  value   = hcloud_server.quassel.ipv4_address
  type    = "A"
587
588
589
590
}

resource "hetznerdns_record" "archlinux_org_quassel_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
591
592
593
  name    = "quassel"
  value   = hcloud_server.quassel.ipv6_address
  type    = "AAAA"
594
595
596
597
}

resource "hetznerdns_record" "archlinux_org_reproducible_a" {
  zone_id = hetznerdns_zone.archlinux.id
598
599
600
  name    = "reproducible"
  value   = hcloud_server.reproducible.ipv4_address
  type    = "A"
601
602
603
604
}

resource "hetznerdns_record" "archlinux_org_runner2_a" {
  zone_id = hetznerdns_zone.archlinux.id
605
606
607
  name    = "runner2"
  value   = "147.75.80.217"
  type    = "A"
608
609
610
611
}

resource "hetznerdns_record" "archlinux_org_runner2_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
612
613
614
  name    = "runner2"
  value   = "2604:1380:2001:4500::3"
  type    = "AAAA"
615
616
617
618
}

resource "hetznerdns_record" "archlinux_org_secure_runner1_a" {
  zone_id = hetznerdns_zone.archlinux.id
619
620
621
  name    = "secure-runner1"
  value   = "116.202.134.150"
  type    = "A"
622
623
624
625
}

resource "hetznerdns_record" "archlinux_org_secure_runner1_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
626
627
628
  name    = "secure-runner1"
  value   = "2a01:4f8:231:4e1e::2"
  type    = "AAAA"
629
630
}

631
632
resource "hetznerdns_record" "archlinux_org_svn2gittest_a" {
  zone_id = hetznerdns_zone.archlinux.id
633
634
635
  name    = "svn2gittest"
  value   = hcloud_server.svn2gittest.ipv4_address
  type    = "A"
636
637
638
639
}

resource "hetznerdns_record" "archlinux_org_svn2gittest_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
640
641
642
  name    = "svn2gittest"
  value   = hcloud_server.svn2gittest.ipv6_address
  type    = "AAAA"
643
644
}

645
646
resource "hetznerdns_record" "archlinux_org_state_a" {
  zone_id = hetznerdns_zone.archlinux.id
647
648
649
  name    = "state"
  value   = "116.203.16.252"
  type    = "A"
650
651
652
653
}

resource "hetznerdns_record" "archlinux_org_state_aaaa" {
  zone_id = hetznerdns_zone.archlinux.id
654
655
656
  name    = "state"
  value   = "2a01:4f8:c2c:474::1"
  type    = "AAAA"
657
658
659
660
}

resource "hetznerdns_record" "archlinux_org_archive_cname" {
  zone_id = hetznerdns_zone.archlinux.id
661
662
663
  name    = "archive"
  value   = "gemini"
  type    = "CNAME"
664
665
666
667
}

resource "hetznerdns_record" "archlinux_org_conf_cname" {
  zone_id = hetznerdns_zone.archlinux.id
668
669
670
  name    = "conf"
  value   = "apollo"
  type    = "CNAME"
671
672
673
674
}

resource "hetznerdns_record" "archlinux_org_dev_cname" {
  zone_id = hetznerdns_zone.archlinux.id
675
676
677
  name    = "dev"
  value   = "apollo"
  type    = "CNAME"
678
679
680
681
}

resource "hetznerdns_record" "archlinux_org_g2kjxsblac7x_cname" {
  zone_id = hetznerdns_zone.archlinux.id
682
683
684
  name    = "g2kjxsblac7x"
  value   = "gv-i5y6mnrelvpfiu.dv.googlehosted.com."
  type    = "CNAME"
685
686
687
688
}

resource "hetznerdns_record" "archlinux_org_git_cname" {
  zone_id = hetznerdns_zone.archlinux.id
689
690
691
  name    = "git"
  value   = "luna"
  type    = "CNAME"
692
693
694
695
}

resource "hetznerdns_record" "archlinux_org_grafana_cname" {
  zone_id = hetznerdns_zone.archlinux.id
696
697
698
  name    = "grafana"
  value   = "apollo"
  type    = "CNAME"
699
700
701
702
}

resource "hetznerdns_record" "archlinux_org_ipxe_cname" {
  zone_id = hetznerdns_zone.archlinux.id
703
704
705
  name    = "ipxe"
  value   = "apollo"
  type    = "CNAME"
706
707
708
709
}

resource "hetznerdns_record" "archlinux_org_luna2_domainkey_aur_cname" {
  zone_id = hetznerdns_zone.archlinux.id
710
711
712
  name    = "luna2._domainkey.aur"
  value   = "luna2._domainkey"
  type    = "CNAME"
713
714
715
716
}

resource "hetznerdns_record" "archlinux_org_luna2_domainkey_lists_cname" {
  zone_id = hetznerdns_zone.archlinux.id
717
718
719
  name    = "luna2._domainkey.lists"
  value   = "luna2._domainkey"
  type    = "CNAME"
720
721
722
723
}

resource "hetznerdns_record" "archlinux_org_mailman_cname" {
  zone_id = hetznerdns_zone.archlinux.id
724
725
726
  name    = "mailman"
  value   = "apollo"
  type    = "CNAME"
727
728
729
730
}

resource "hetznerdns_record" "archlinux_org_packages_cname" {
  zone_id = hetznerdns_zone.archlinux.id
731
732
733
  name    = "packages"
  value   = "apollo"
  type    = "CNAME"
734
735
736
737
}

resource "hetznerdns_record" "archlinux_org_patchwork_cname" {
  zone_id = hetznerdns_zone.archlinux.id
738
739
740
  name    = "patchwork"
  value   = "apollo"
  type    = "CNAME"
741
742
743
744
}

resource "hetznerdns_record" "archlinux_org_planet_cname" {
  zone_id = hetznerdns_zone.archlinux.id
745
746
747
  name    = "planet"
  value   = "apollo"
  type    = "CNAME"
748
749
750
751
}

resource "hetznerdns_record" "archlinux_org_projects_cname" {
  zone_id = hetznerdns_zone.archlinux.id
752
753
754
  name    = "projects"
  value   = "luna"
  type    = "CNAME"
755
756
757
758
}

resource "hetznerdns_record" "archlinux_org_repos_cname" {
  zone_id = hetznerdns_zone.archlinux.id
759
760
761
  name    = "repos"
  value   = "gemini"
  type    = "CNAME"
762
763
764
765
}

resource "hetznerdns_record" "archlinux_org_rsync_cname" {
  zone_id = hetznerdns_zone.archlinux.id
766
767
768
  name    = "rsync"
  value   = "gemini"
  type    = "CNAME"
769
770
771
772
}

resource "hetznerdns_record" "archlinux_org_security_cname" {
  zone_id = hetznerdns_zone.archlinux.id
773
774
775
  name    = "security"
  value   = "apollo"
  type    = "CNAME"
776
777
778
779
}

resource "hetznerdns_record" "archlinux_org_sources_cname" {
  zone_id = hetznerdns_zone.archlinux.id
780
781
782
  name    = "sources"
  value   = "gemini"
  type    = "CNAME"
783
784
785
786
}

resource "hetznerdns_record" "archlinux_org_static_cname" {
  zone_id = hetznerdns_zone.archlinux.id
787
788
789
  name    = "static"
  value   = "apollo"
  type    = "CNAME"
790
791
792
793
}

resource "hetznerdns_record" "archlinux_org_static_conf_cname" {
  zone_id = hetznerdns_zone.archlinux.id
794
795
796
  name    = "static.conf"
  value   = "apollo"
  type    = "CNAME"
797
798
799
800
}

resource "hetznerdns_record" "archlinux_org_status_cname" {
  zone_id = hetznerdns_zone.archlinux.id
801
802
803
  name    = "status"
  value   = "stats.uptimerobot.com."
  type    = "CNAME"
804
805
806
807
}

resource "hetznerdns_record" "archlinux_org_svn_cname" {
  zone_id = hetznerdns_zone.archlinux.id
808
809
810
  name    = "svn"
  value   = "gemini"
  type    = "CNAME"
811
812
813
814
}

resource "hetznerdns_record" "archlinux_org_wiki_cname" {
  zone_id = hetznerdns_zone.archlinux.id
815
816
817
  name    = "wiki"
  value   = "apollo"
  type    = "CNAME"
818
819
820
821
}

resource "hetznerdns_record" "archlinux_org_www_cname" {
  zone_id = hetznerdns_zone.archlinux.id
822
823
824
  name    = "www"
  value   = "apollo"
  type    = "CNAME"
825
826
827
828
}

resource "hetznerdns_record" "archlinux_org_matrix_tcp_srv" {
  zone_id = hetznerdns_zone.archlinux.id
829
830
831
  name    = "_matrix._tcp"
  value   = "10 0 8448 matrix"
  type    = "SRV"
832
833
834
835
}

resource "hetznerdns_record" "archlinux_org_github_challenge_archlinux" {
  zone_id = hetznerdns_zone.archlinux.id
836
837
838
  name    = "_github-challenge-archlinux"
  value   = "\"824af4446e\""
  type    = "TXT"
839
840
841
842
}

resource "hetznerdns_record" "archlinux_org_github_challenge_archlinux_www" {
  zone_id = hetznerdns_zone.archlinux.id
843
844
845
  name    = "_github-challenge-archlinux.www"
  value   = "\"b53f311f86\""
  type    = "TXT"
846
847
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
848
resource "hcloud_rdns" "quassel_ipv4" {
849
850
  server_id  = hcloud_server.quassel.id
  ip_address = hcloud_server.quassel.ipv4_address
851
  dns_ptr    = "quassel.archlinux.org"
852
853
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
854
855
856
857
858
859
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
860
resource "hcloud_server" "quassel" {
861
  name        = "quassel.archlinux.org"
862
  image       = data.hcloud_image.archlinux.id
Jelle van der Waa's avatar
Jelle van der Waa committed
863
  server_type = "cx11"
864
865
866
  lifecycle {
    ignore_changes = [image]
  }
Jelle van der Waa's avatar
Jelle van der Waa committed
867
}
Jelle van der Waa's avatar
Jelle van der Waa committed
868

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
869
resource "hcloud_rdns" "phrik_ipv4" {
870
871
  server_id  = hcloud_server.phrik.id
  ip_address = hcloud_server.phrik.ipv4_address
Jelle van der Waa's avatar
Jelle van der Waa committed
872
873
874
  dns_ptr    = "phrik.archlinux.org"
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
875
876
877
878
879
880
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
881
882
resource "hcloud_server" "phrik" {
  name        = "phrik.archlinux.org"
883
  image       = data.hcloud_image.archlinux.id
Jelle van der Waa's avatar
Jelle van der Waa committed
884
  server_type = "cx11"
885
886
887
  lifecycle {
    ignore_changes = [image]
  }
Jelle van der Waa's avatar
Jelle van der Waa committed
888
}
Jelle van der Waa's avatar
Jelle van der Waa committed
889

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
890
resource "hcloud_rdns" "bbs_ipv4" {
891
892
  server_id  = hcloud_server.bbs.id
  ip_address = hcloud_server.bbs.ipv4_address
Jelle van der Waa's avatar
Jelle van der Waa committed
893
894
895
  dns_ptr    = "bbs.archlinux.org"
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
896
897
898
899
900
901
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
902
903
resource "hcloud_server" "bbs" {
  name        = "bbs.archlinux.org"
904
  image       = data.hcloud_image.archlinux.id
Jelle van der Waa's avatar
Jelle van der Waa committed
905
  server_type = "cx21"
906
907
908
909
910
  lifecycle {
    ignore_changes = [image]
  }
}

911

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
912
resource "hcloud_rdns" "gitlab_ipv4" {
913
914
  server_id  = hcloud_server.gitlab.id
  ip_address = hcloud_server.gitlab.ipv4_address
915
916
917
  dns_ptr    = "gitlab.archlinux.org"
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
918
919
920
921
922
923
resource "hcloud_rdns" "gitlab_ipv6" {
  server_id  = hcloud_server.gitlab.id
  ip_address = hcloud_server.gitlab.ipv6_address
  dns_ptr    = "gitlab.archlinux.org"
}

924
925
resource "hcloud_server" "gitlab" {
  name        = "gitlab.archlinux.org"
926
  image       = data.hcloud_image.archlinux.id
927
  server_type = "cx51"
928
929
930
  lifecycle {
    ignore_changes = [image]
  }
Jelle van der Waa's avatar
Jelle van der Waa committed
931
}
Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
932

933
resource "hcloud_volume" "gitlab" {
934
935
  name      = "gitlab"
  size      = 1000
936
937
938
939
  server_id = hcloud_server.gitlab.id
}


Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
940
resource "hcloud_rdns" "matrix_ipv4" {
941
942
  server_id  = hcloud_server.matrix.id
  ip_address = hcloud_server.matrix.ipv4_address
Jelle van der Waa's avatar
Jelle van der Waa committed
943
944
945
  dns_ptr    = "matrix.archlinux.org"
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
946
947
948
949
950
951
resource "hcloud_rdns" "matrix_ipv6" {
  server_id  = hcloud_server.matrix.id
  ip_address = hcloud_server.matrix.ipv6_address
  dns_ptr    = "matrix.archlinux.org"
}

Jelle van der Waa's avatar
Jelle van der Waa committed
952
953
resource "hcloud_server" "matrix" {
  name        = "matrix.archlinux.org"
954
  image       = data.hcloud_image.archlinux.id
955
  server_type = "cpx31"
Jelle van der Waa's avatar
Jelle van der Waa committed
956
957
958
959
  lifecycle {
    ignore_changes = [image]
  }
}
960

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
961
resource "hcloud_rdns" "acccounts_ipv4" {
962
963
  server_id  = hcloud_server.accounts.id
  ip_address = hcloud_server.accounts.ipv4_address
964
965
966
  dns_ptr    = "accounts.archlinux.org"
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
967
968
969
970
971
972
resource "hcloud_rdns" "acccounts_ipv6" {
  server_id  = hcloud_server.accounts.id
  ip_address = hcloud_server.accounts.ipv6_address
  dns_ptr    = "accounts.archlinux.org"
}

973
974
resource "hcloud_server" "accounts" {
  name        = "accounts.archlinux.org"
975
  image       = data.hcloud_image.archlinux.id
976
  server_type = "cx11"
977
978
  provisioner "local-exec" {
    working_dir = ".."
979
    command     = "ansible-playbook --ssh-extra-args '-o StrictHostKeyChecking=no' playbooks/accounts.archlinux.org.yml"
980
  }
981
982
983
984
  lifecycle {
    ignore_changes = [image]
  }
}
985

986
resource "hcloud_volume" "mirror" {
987
988
  name      = "mirror"
  size      = 100
989
990
991
  server_id = hcloud_server.mirror.id
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
992
resource "hcloud_rdns" "mirror_ipv4" {
993
994
  server_id  = hcloud_server.mirror.id
  ip_address = hcloud_server.mirror.ipv4_address
995
996
997
  dns_ptr    = "mirror.pkgbuild.com"
}

Sven-Hendrik Haase's avatar
Sven-Hendrik Haase committed
998
999
1000
resource "hcloud_rdns" "mirror_ipv6" {
  server_id  = hcloud_server.mirror.id
  ip_address = hcloud_server.mirror.ipv6_address
For faster browsing, not all history is shown. View entire blame