88 lines
1.9 KiB
Nix
88 lines
1.9 KiB
Nix
{ lib, ... }:
|
|
let
|
|
mkMigaduDkim = zone: name: {
|
|
inherit zone;
|
|
name = "${name}._domainkey";
|
|
type = "CNAME";
|
|
records = [
|
|
{ value = "${name}.${zone}._domainkey.migadu.com."; }
|
|
];
|
|
};
|
|
in
|
|
{
|
|
mkMigadu_hcloud_zone_rrset = zone: hostedEmailVerify: {
|
|
dkim_1 = mkMigaduDkim zone "key1";
|
|
dkim_2 = mkMigaduDkim zone "key2";
|
|
dkim_3 = mkMigaduDkim zone "key3";
|
|
|
|
spf = {
|
|
inherit zone;
|
|
name = "@";
|
|
type = "TXT";
|
|
records = [
|
|
{
|
|
value = lib.tf.ref ''provider::hcloud::txt_record("v=spf1 include:spf.migadu.com -all")'';
|
|
}
|
|
{
|
|
value = lib.tf.ref ''provider::hcloud::txt_record("hosted-email-verify=pgeaq3bp")'';
|
|
}
|
|
];
|
|
};
|
|
|
|
dmarc = {
|
|
inherit zone;
|
|
name = "_dmarc";
|
|
type = "TXT";
|
|
records = [
|
|
{
|
|
value = lib.tf.ref ''provider::hcloud::txt_record("v=DMARC1; p=quarantine;")'';
|
|
}
|
|
];
|
|
};
|
|
|
|
mx = {
|
|
inherit zone;
|
|
name = "@";
|
|
type = "MX";
|
|
records = [
|
|
{ value = "10 aspmx1.migadu.com."; }
|
|
{ value = "20 aspmx2.migadu.com."; }
|
|
];
|
|
};
|
|
|
|
autoconfig = {
|
|
inherit zone;
|
|
name = "autoconfig";
|
|
type = "CNAME";
|
|
records = [ { value = "autoconfig.migadu.com."; } ];
|
|
};
|
|
|
|
autodiscover = {
|
|
inherit zone;
|
|
name = "_autodiscover._tcp";
|
|
type = "SRV";
|
|
records = [ { value = "0 1 443 autodiscover.migadu.com."; } ];
|
|
};
|
|
|
|
submissions = {
|
|
inherit zone;
|
|
name = "_submissions._tcp";
|
|
type = "SRV";
|
|
records = [ { value = "0 1 465 smtp.migadu.com."; } ];
|
|
};
|
|
|
|
imaps = {
|
|
inherit zone;
|
|
name = "_imaps._tcp";
|
|
type = "SRV";
|
|
records = [ { value = "0 1 993 imap.migadu.com."; } ];
|
|
};
|
|
|
|
pop3s = {
|
|
inherit zone;
|
|
name = "_pop3s._tcp";
|
|
type = "SRV";
|
|
records = [ { value = "0 1 995 pop.migadu.com."; } ];
|
|
};
|
|
};
|
|
}
|