From 2e08a505bdf4396a795cd8c5474516ddab59d3f1 Mon Sep 17 00:00:00 2001 From: Pim Kunis Date: Wed, 31 May 2023 21:03:43 +0200 Subject: [PATCH] add dns records to terraform --- terraform/dns.tf | 73 +++++++++++++++++++++++++++++++++++++++++++++++ terraform/main.tf | 5 ++++ 2 files changed, 78 insertions(+) create mode 100644 terraform/dns.tf diff --git a/terraform/dns.tf b/terraform/dns.tf new file mode 100644 index 0000000..7b722c6 --- /dev/null +++ b/terraform/dns.tf @@ -0,0 +1,73 @@ +data "external" "secrets" { + program = ["cat", pathexpand("~/.tfvars.json")] +} + +provider "powerdns" { + server_url = "http://192.168.30.108:3000" + api_key = data.external.secrets.result.powerdns_api_key +} + +resource "powerdns_record" "subdomain_pim" { + for_each = toset(["dav", "git", "meet", "rss", "latex", "md", "swarm", "traefik", "syncthing", "cloud", "pihole", "ntfy", "apprise", "uptime", "concourse", "discourse"]) + zone = "pim.kunis.nl." + name = "${each.key}.pim.kunis.nl." + type = "CNAME" + records = ["www.pim.kunis.nl."] + ttl = 60 +} + +resource "powerdns_record" "social_pim_kunis_nl_a" { + zone = "pim.kunis.nl." + name = "social.pim.kunis.nl." + type = "A" + records = ["84.245.14.149"] + ttl = 60 +} + +resource "powerdns_record" "kms_geokunis2_nl_a" { + zone = "geokunis2.nl." + name = "kms.geokunis2.nl." + type = "A" + records = ["84.245.14.149"] + ttl = 60 +} + +resource "powerdns_record" "files_geokunis2_nl_a" { + zone = "geokunis2.nl." + name = "files.geokunis2.nl." + type = "A" + records = ["84.245.14.149"] + ttl = 60 +} + +resource "powerdns_record" "files_geokunis2_nl_aaaa" { + zone = "geokunis2.nl." + name = "files.geokunis2.nl." + type = "AAAA" + records = ["2a02:58:19a:f730:b62e:99ff:fe77:1bda"] + ttl = 60 +} + +resource "powerdns_record" "cyberchef_geokunis2_nl_a" { + zone = "geokunis2.nl." + name = "cyberchef.geokunis2.nl." + type = "A" + records = ["84.245.14.149"] + ttl = 60 +} + +resource "powerdns_record" "cyberchef_geokunis2_nl_aaaa" { + zone = "geokunis2.nl." + name = "cyberchef.geokunis2.nl." + type = "AAAA" + records = ["2a02:58:19a:f730:c8fe:c0ff:feff:ee03"] + ttl = 60 +} + +resource "powerdns_record" "inbucket_geokunis2_nl_a" { + zone = "geokunis2.nl." + name = "inbucket.geokunis2.nl." + type = "A" + records = ["84.245.14.149"] + ttl = 60 +} diff --git a/terraform/main.tf b/terraform/main.tf index 73028ad..2312a39 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -8,6 +8,11 @@ terraform { libvirt = { source = "dmacvicar/libvirt" } + + powerdns = { + source = "pan-net/powerdns" + version = "1.5.0" + } } }