// Publish CAA records indicating that only letsencrypt should issue certificates
- CAA("@", "issue", "letsencrypt.org", CF_TTL_ANY),
- CAA("@", "issuewild", "letsencrypt.org", CF_TTL_ANY),
- CAA("@", "iodef", "mailto:hostmaster@openstreetmap.org"),
+ CAA_BUILDER({
+ label: "@",
+ ttl: "1h",
+ iodef: "mailto:hostmaster@openstreetmap.org",
+ issue: [
+ "letsencrypt.org",
+ ],
+ issuewild: [
+ "letsencrypt.org",
+ ],
+ }),
// Let google handle email
// SPF policy
- TXT("@", "v=spf1 ip4:212.110.172.32 ip6:2001:41c9:1:400::32 a mx include:_spf.google.com -all"),
+ SPF_BUILDER({
+ label: "@",
+ ttl: "1h",
+ parts: [
+ "v=spf1",
+ "include:_spf.google.com", // Google GSuite
+ "ip4:212.110.172.32", // shenron ipv4
+ "ip6:2001:41c9:1:400::32", // shenron ipv6
+ "-all"
+ ]
+ }),
// DKIM keys
A("board", RIDLEY_IPV4, TTL("10m")),
A("dwg", RIDLEY_IPV4, TTL("10m")),
A("mwg", RIDLEY_IPV4, TTL("10m")),
- A("operations", RIDLEY_IPV4, TTL("10m"))
+ A("operations", RIDLEY_IPV4, TTL("10m")),
+
+ // Nextcloud instance
+
+ CNAME("files", "osmfiles.cloud68.co.")
);