feat: initial commit

This commit is contained in:
Vri 2025-04-21 19:05:28 +02:00
commit 46fad45295
5 changed files with 114 additions and 0 deletions

6
creds.json Normal file
View file

@ -0,0 +1,6 @@
{
"desec": {
"TYPE": "DESEC",
"auth-token": "$DESEC_AUTH_TOKEN"
}
}

8
dnsconfig.js Normal file
View file

@ -0,0 +1,8 @@
var DNS_DESEC = NewDnsProvider("desec");
var REG_NONE = NewRegistrar("none");
var NATENOM_MAIN = "natenom-main.natenom.org.";
var WEBSYNTHESIS_MX = "mx.websynthesis.org.";
// import domains
require_glob("./domains/");

34
domains/natenom.org.js Normal file
View file

@ -0,0 +1,34 @@
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"),
AAAA("@", "2a01:4f8:c013:3235::1"),
AAAA("natenom-main", "2a01:4f8:c013:3235::1"),
CNAME("dev", "@"),
CNAME("www", "@"),
// Cozy Town Status
CNAME("status", "cozytown-status.cozy.town."),
CNAME("up", "cozytown-status.cozy.town."),
// Natenom Main
CNAME("archive", NATENOM_MAIN),
CNAME("ci", NATENOM_MAIN),
CNAME("git", NATENOM_MAIN),
CNAME("pad", NATENOM_MAIN),
// Websynthesis MX
CNAME("autoconfig", WEBSYNTHESIS_MX),
CNAME("autodiscover", WEBSYNTHESIS_MX),
// Natemologie Mumble
CNAME("m", "mumble.natenom.de."),
CNAME("mumble", "mumble.natenom.de."),
MX("@", 0, WEBSYNTHESIS_MX),
SRV("_autodiscover._tcp", 0, 0, 443, WEBSYNTHESIS_MX),
TXT("@", "v=spf1 mx a -all"),
TXT("dkim._domainkey", "v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr/pwZeHei9J55sOLsdTNb7DHEAICcsGNzFQJV7cTXIbWW6fTmUx4Fnaf9vgcPSEOZH0nPDPzMQfc05mcAIhbSaygIoRhvg8CJvZorW0FLXxBSpvXmwfH6mS/wxrdbPR+2NvbArOyLGAwcE8h3g5UVzchvm8Di1DNU6XXYCxXaMHYv4tl03WBM9UPqMd1U0QfXgzyzPNvtjIEe1Hrm96xAyJ9BjrZQJC2KsET/vKY0LjmdAi8Cvt6pO+pjzqGOTTekwL2MsdTYObv75xmubL27O7viLO/ekxPpHGBxXRrsPd07el+yF9tKEj2VTK3pPOGbX/fXtA4HxEZz4sE4U4hZQIDAQAB"),
);

27
flake.lock generated Normal file
View file

@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1744932701,
"narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

39
flake.nix Normal file
View file

@ -0,0 +1,39 @@
{
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
outputs = {
nixpkgs,
self,
}: let
pkgs = nixpkgs;
mkAllSystems = lib.genAttrs [
"aarch64-darwin"
"aarch64-linux"
"i686-linux"
"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 {
nativeBuildInputs = [pkgs.dnscontrol];
shellHook = ''
echo "Bitte einen deSEC-Auth-Token eingeben:"
read -rs DESEC_AUTH_TOKEN
export DESEC_AUTH_TOKEN
'';
};
});
};
}