Compare commits

...

10 commits

Author SHA1 Message Date
Vri
b7896b132e
feat: add domain natenom.name 2025-05-02 21:18:04 +02:00
Vri
0143447b17
feat: add domain natenom.de 2025-05-02 21:17:47 +02:00
Vri
2660e29452
feat: add domain natenom.com 2025-05-02 21:17:25 +02:00
Vri
7397e4ba4d
feat: add domain kagube.de 2025-05-02 21:16:41 +02:00
Vri
3032edc41b
docs: add natenom.org zone file 2025-05-02 21:16:01 +02:00
Vri
a32eb7087e
docs: add readme 2025-05-02 21:15:49 +02:00
Vri
d001ba2f10
feat: add mini manual 2025-05-02 21:14:30 +02:00
Vri
2d5421d73d
feat: remove inherit and rec 2025-05-02 21:13:59 +02:00
Vri
c629b3fdf4
feat: add zone file generating bash function 2025-05-02 21:10:40 +02:00
Vri
bc0ef84465
feat: add common record variables 2025-05-02 20:10:52 +02:00
13 changed files with 204 additions and 16 deletions

13
README.md Normal file
View file

@ -0,0 +1,13 @@
# DNS Records des Natenom e.V.
## Zone-Dateien generieren
Nach jeder Änderung sollen die Zonen-Dateien generiert werden.
Das ist besonders einfach mit der Bash-Funktion `generate-zone-file [domain]`
in der Nix-DevShell (`nix develop`) möglich.
Diese führt im Hintergrund folgendes aus (Beispiel):
```
dnscontrol get-zone --format=zone --out natenom.org.zone desec - natenom.org
```

View file

@ -1,6 +1,12 @@
var DNS_DESEC = NewDnsProvider("desec");
var REG_NONE = NewRegistrar("none");
// Records
var A_NATENOM_MAIN = function (name) { return A(name, "188.245.198.27") };
var AAAA_NATENOM_MAIN = function (name) { return AAAA(name, "2a01:4f8:c013:3235::1") };
var CAA_DEFAULT = CAA("@", "issue", "letsencrypt.org");
// Addresses
var NATENOM_MAIN = "natenom-main.natenom.org.";
var WEBSYNTHESIS_MX = "mx.websynthesis.org.";

12
domains/kagube.de.js Normal file
View file

@ -0,0 +1,12 @@
D("kagube.de", REG_NONE, DnsProvider(DNS_DESEC),
DefaultTTL("1h"),
NAMESERVER_TTL("1h"),
A_NATENOM_MAIN("@"),
A_NATENOM_MAIN("www"),
AAAA_NATENOM_MAIN("@"),
AAAA_NATENOM_MAIN("www"),
CAA_DEFAULT,
);

22
domains/natenom.com.js Normal file
View file

@ -0,0 +1,22 @@
D("natenom.com", REG_NONE, DnsProvider(DNS_DESEC),
DefaultTTL("1h"),
NAMESERVER_TTL("1h"),
A_NATENOM_MAIN("@"),
A_NATENOM_MAIN("bn"),
A("mail", "94.16.117.219"),
AAAA_NATENOM_MAIN("@"),
AAAA_NATENOM_MAIN("bn"),
AAAA("mail", "2a03:4000:29:168::1"),
CAA_DEFAULT,
CNAME("blog", "bn"),
CNAME("m", "mumble"),
CNAME("mumble", "talk.cozy.town."),
CNAME("wiki", "bn"),
CNAME("www", "bn"),
MX("@", 10, "mail"),
);

24
domains/natenom.de.js Normal file
View file

@ -0,0 +1,24 @@
D("natenom.de", REG_NONE, DnsProvider(DNS_DESEC),
DefaultTTL("1h"),
NAMESERVER_TTL("1h"),
A_NATENOM_MAIN("@"),
A_NATENOM_MAIN("bn"),
A("mail", "94.16.117.219"),
AAAA_NATENOM_MAIN("@"),
AAAA_NATENOM_MAIN("bn"),
AAAA("mail", "2a03:4000:29:168::1"),
CAA_DEFAULT,
CNAME("comments", "bn"),
CNAME("f", "bn"),
CNAME("m", "mumble"),
CNAME("mumble", "talk.cozy.town."),
CNAME("wiki", "bn"),
CNAME("wikiarchiv", "bn"),
CNAME("www", "bn"),
MX("@", 10, "mail"),
);

10
domains/natenom.name.js Normal file
View file

@ -0,0 +1,10 @@
D("natenom.name", REG_NONE, DnsProvider(DNS_DESEC),
DefaultTTL("1h"),
NAMESERVER_TTL("1h"),
A_NATENOM_MAIN("@"),
A_NATENOM_MAIN("www"),
AAAA_NATENOM_MAIN("@"),
AAAA_NATENOM_MAIN("www"),
);

View file

@ -2,11 +2,13 @@ D("natenom.org", REG_NONE, DnsProvider(DNS_DESEC),
DefaultTTL("1h"),
NAMESERVER_TTL("1h"),
A("@", "188.245.198.27"),
A("natenom-main", "188.245.198.27"),
A_NATENOM_MAIN("@"),
A_NATENOM_MAIN("natenom-main"),
AAAA("@", "2a01:4f8:c013:3235::1"),
AAAA("natenom-main", "2a01:4f8:c013:3235::1"),
AAAA_NATENOM_MAIN("@"),
AAAA_NATENOM_MAIN("natenom-main"),
CAA_DEFAULT,
CNAME("dev", "@"),
CNAME("www", "@"),

View file

@ -6,6 +6,7 @@
self,
}: let
pkgs = nixpkgs;
lib = pkgs.lib;
mkAllSystems = lib.genAttrs [
"aarch64-darwin"
@ -14,26 +15,41 @@
"x86_64-darwin"
"x86_64-linux"
];
inherit (pkgs) lib;
in {
formatter = mkAllSystems (system: pkgs.legacyPackages.${system}.alejandra);
devShells = mkAllSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
inherit (pkgs) mkShell;
in rec {
default = mkShell {
in {
default = pkgs.mkShell {
nativeBuildInputs = [pkgs.dnscontrol];
shellHook = ''
echo "Bitte einen deSEC-Auth-Token eingeben:"
read -rs DESEC_AUTH_TOKEN
export DESEC_AUTH_TOKEN
'';
shellHook =
# Auth Token
''
echo "Bitte einen deSEC-Auth-Token eingeben:"
read -rs DESEC_AUTH_TOKEN
export DESEC_AUTH_TOKEN
''
# Mini-Anleitung
+ ''
echo ""
echo "Prüfen: dnscontrol preview"
echo "Ausrollen: dnscontrol push"
echo "Zone-Dateien generieren: generate-zone-file [domain]"
echo ""
''
# Zonen-Datei generieren
+ ''
generate-zone-file () {
if [[ "$1" != "" ]]; then
dnscontrol get-zone --format=zone --out $1.zone' desec - $1
else
echo "Bitte eine valide Domain eingeben"
fi
};
'';
};
});
};
}

10
kagube.de.zone Normal file
View file

@ -0,0 +1,10 @@
$ORIGIN kagube.de.
$TTL 3600
@ IN NS ns1.desec.io.
IN NS ns2.desec.org.
IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1
IN CAA 0 issue "letsencrypt.org"
www IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1

18
natenom.com.zone Normal file
View file

@ -0,0 +1,18 @@
$ORIGIN natenom.com.
$TTL 3600
@ IN NS ns1.desec.io.
IN NS ns2.desec.org.
IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1
IN MX 10 mail.natenom.com.
IN CAA 0 issue "letsencrypt.org"
blog IN CNAME bn.natenom.com.
bn IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1
m IN CNAME mumble.natenom.com.
mail IN A 94.16.117.219
IN AAAA 2a03:4000:29:168::1
mumble IN CNAME talk.cozy.town.
wiki IN CNAME bn.natenom.com.
www IN CNAME bn.natenom.com.

20
natenom.de.zone Normal file
View file

@ -0,0 +1,20 @@
$ORIGIN natenom.de.
$TTL 3600
@ IN NS ns1.desec.io.
IN NS ns2.desec.org.
IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1
IN MX 10 mail.natenom.de.
IN CAA 0 issue "letsencrypt.org"
bn IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1
comments IN CNAME bn.natenom.de.
f IN CNAME bn.natenom.de.
m IN CNAME mumble.natenom.de.
mail IN A 94.16.117.219
IN AAAA 2a03:4000:29:168::1
mumble IN CNAME talk.cozy.town.
wiki IN CNAME bn.natenom.de.
wikiarchiv IN CNAME bn.natenom.de.
www IN CNAME bn.natenom.de.

9
natenom.name.zone Normal file
View file

@ -0,0 +1,9 @@
$ORIGIN natenom.name.
$TTL 3600
@ IN NS ns1.desec.io.
IN NS ns2.desec.org.
IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1
www IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1

26
natenom.org.zone Normal file
View file

@ -0,0 +1,26 @@
$ORIGIN natenom.org.
$TTL 3600
@ IN NS ns1.desec.io.
IN NS ns2.desec.org.
IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1
IN MX 0 mx.websynthesis.org.
IN TXT "v=spf1 mx a -all"
IN CAA 0 issue "letsencrypt.org"
dkim._domainkey IN TXT "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr/pwZeHei9J55sOLsdTNb7DHEAICcsGNzFQJV7cTXIbWW6fTmUx4Fnaf9vgcPSEOZH0nPDPzMQfc05mcAIhbSaygIoRhvg8CJvZorW0FLXxBSpvXmwfH6mS/wxrdbPR+2NvbArOyLGAwcE8h3g5UVzchvm8Di1DNU6XXYCxXaMHYv4tl03WBM9U" "PqMd1U0QfXgzyzPNvtjIEe1Hrm96xAyJ9BjrZQJC2KsET/vKY0LjmdAi8Cvt6pO+pjzqGOTTekwL2MsdTYObv75xmubL27O7viLO/ekxPpHGBxXRrsPd07el+yF9tKEj2VTK3pPOGbX/fXtA4HxEZz4sE4U4hZQIDAQAB"
_autodiscover._tcp IN SRV 0 0 443 mx.websynthesis.org.
archive IN CNAME natenom-main.natenom.org.
autoconfig IN CNAME mx.websynthesis.org.
autodiscover IN CNAME mx.websynthesis.org.
ci IN CNAME natenom-main.natenom.org.
dev IN CNAME natenom.org.
git IN CNAME natenom-main.natenom.org.
m IN CNAME mumble.natenom.de.
mumble IN CNAME mumble.natenom.de.
natenom-main IN A 188.245.198.27
IN AAAA 2a01:4f8:c013:3235::1
pad IN CNAME natenom-main.natenom.org.
status IN CNAME cozytown-status.cozy.town.
up IN CNAME cozytown-status.cozy.town.
www IN CNAME natenom.org.