From 5d10e75ade00951dd14d77a1f76f4f2729eddf0a Mon Sep 17 00:00:00 2001 From: Tobias Reisinger Date: Wed, 2 Oct 2024 00:24:11 +0200 Subject: [PATCH] Improve dns --- dns/services.json | 56 ++++++++++++++++++++++---------- dnsconfig.js | 2 +- modules/infrastructure/output.tf | 2 ++ 3 files changed, 41 insertions(+), 19 deletions(-) diff --git a/dns/services.json b/dns/services.json index 2212367..9e0999c 100644 --- a/dns/services.json +++ b/dns/services.json @@ -1,69 +1,89 @@ { - "*": { + "catch-all-serguzim.me": { "target": "*", "domain": "serguzim.me", "host": "node002" }, - "auth": { + "acme_dns": { + "target": "acme", + "domain": "serguzim.me", + "host": "node003" + }, + "authentik": { "target": "auth", "domain": "serguzim.me", "host": "node002" }, - "faas": { + "openfaas": { "target": "faas", "domain": "serguzim.me", "host": "node002" }, - "mail": { + "mailcow": { "target": "mail", "domain": "serguzim.me", "host": "node003" }, - "matrix": { + "synapse": { "target": "matrix", "domain": "serguzim.me", "host": "node002" }, - "s3": { + "linkwarden": { + "target": "bookmarks", + "domain": "serguzim.me", + "host": "node003" + }, + "minio": { "target": "s3", "domain": "serguzim.me", "host": "node002" }, - "s3-console": { + "minio-console": { "target": "console.s3", "domain": "serguzim.me", - "alias": "s3" + "alias": "minio" }, - "serguzim.me": { + "umami": { + "target": "analytics", + "domain": "serguzim.me", + "host": "node003" + }, + "webpage-serguzim.me": { "target": "@", "domain": "serguzim.me", - "alias": "faas" + "alias": "openfaas" + }, + "wiki_js": { + "target": "wiki", + "domain": "serguzim.me", + "host": "node003" }, - "matrix_msrg": { + "synapse_msrg.cc": { "target": "matrix", "domain": "msrg.cc", - "alias": "matrix" + "alias": "synapse" }, - "link": { + "shlink": { "target": "@", "domain": "msrg.cc", "host": "node002" }, - "link_msvg": { + "shlink-msvg.cc": { "target": "@", "domain": "msvg.cc", - "alias": "link" + "alias": "shlink" }, - "reitanlage": { + "reitanlage_oranienburg": { "target": "@", "domain": "reitanlage-oranienburg.de", "host": "node002" }, - "reitanlage_www": { + "reitanlage_oranienburg-www": { "target": "www", "domain": "reitanlage-oranienburg.de", - "alias": "reitanlage" + "alias": "reitanlage_oranienburg" } } diff --git a/dnsconfig.js b/dnsconfig.js index 9285cea..182891d 100644 --- a/dnsconfig.js +++ b/dnsconfig.js @@ -85,7 +85,7 @@ D("serguzim.me", REG_OVH, DnsProvider(DSP_OVH), "reitanlage-oranienburg.de" ]), - NS("acme", "node002.serguzim.net."), + NS("acme", services["acme_dns"].resolve_host().fqdn + "."), CNAME("db", "node002.vpn.serguzim.net."), diff --git a/modules/infrastructure/output.tf b/modules/infrastructure/output.tf index eaaf370..8e3d2b1 100644 --- a/modules/infrastructure/output.tf +++ b/modules/infrastructure/output.tf @@ -2,6 +2,8 @@ output "hosts" { value = { for subdomain in distinct([for record in ovh_domain_zone_record.server_records : record.subdomain]) : subdomain => { + "hostname" = subdomain + "fqdn" = "${subdomain}.${ovh_domain_zone_record.server_records["${subdomain}:ipv4"].zone}" "ipv4_address" = try( ovh_domain_zone_record.server_records["${subdomain}:ipv4"].target, null