]> git.openstreetmap.org Git - dns.git/blob - src/osmfoundation.js
SPF: Add IP ranges as safety fallback
[dns.git] / src / osmfoundation.js
1 D(DOMAIN, REGISTRAR, DnsProvider(PROVIDER),
2
3   // Publish CAA records indicating that only letsencrypt should issue certificates
4
5   CAA_BUILDER({
6     label: "@",
7     iodef: "mailto:hostmaster@openstreetmap.org",
8     issue: [
9       "letsencrypt.org",
10     ],
11     issuewild: [
12       "letsencrypt.org",
13     ],
14   }),
15
16   // Let google handle email
17
18   MX("@", 1, "aspmx.l.google.com.", TTL("1h")),
19   MX("@", 5, "alt1.aspmx.l.google.com.", TTL("1h")),
20   MX("@", 5, "alt2.aspmx.l.google.com.", TTL("1h")),
21   MX("@", 10, "alt3.aspmx.l.google.com.", TTL("1h")),
22   MX("@", 10, "alt4.aspmx.l.google.com.", TTL("1h")),
23
24   // Handle mail for the join subdomain ourselves
25
26   MX("join", 10, "a.mx.openstreetmap.org."),
27
28   // SPF policy
29
30   SPF_BUILDER({
31     label: "@",
32     parts: [
33       "v=spf1",
34       "include:_spf.google.com",  // Google GSuite
35       "ip4:212.110.172.32",       // shenron ipv4
36       "ip6:2001:41c9:1:400::32",  // shenron ipv6
37       "ip4:184.104.226.98",       // fafnir ipv4
38       "ip6:2001:470:1:b3b::2",    // fafnir ipv6
39       "ip4:193.60.236.0/24",          // ucl external
40       "ip4:130.117.76.0/27",          // amsterdam external
41       "ip6:2001:978:2:2C::172:0/112", // amsterdam external
42       "ip4:184.104.226.96/27",        // dublin external
43       "ip6:2001:470:1:b3b::/64",      // dublin external
44       "-all"
45     ]
46   }),
47
48   // Apple Business Manager verification
49   TXT("@", "apple-domain-verification=ZzBG2msRtUDehTMW"),
50
51   // Publish DMARC report-only policy
52
53   DMARC_BUILDER({
54     policy: "none",
55     rua: [
56       "mailto:openstreetmap-d@dmarc.report-uri.com"
57     ],
58     failureOptions: 1
59   }),
60
61   // DKIM keys
62
63   TXT("google._domainkey", "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJmTBAkYRCocCCNtVsdRNMlQel8kNfjPYJpjEm7woEgZh9yZeDzxImtz+u73oUF4+7bXzrNYbP946WNQIwAba1J69he8L1qfPBJLd3Z/fgmuaGdWcxpDno2EY4cQ8PrzvI6Vfm+6YAFANl8w09CIg41ykdlzH4iUJXD35k3SIl3wIDAQAB"),
64   TXT("20201112._domainkey", "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz4OyJc77mpW5djxVfZm18HcmJHQLpo7B2Z8Og8byICjDiG91Tpkv5ws3xIbMsi/tVA6p5L76uL0TGKlo4ayewYvJUTC22+hBWARUuWA0DgeMwBpW/dNUOJHBABCTouolvXLKRTPTefA177Y5jYbD7ZeJAR4ZnFbZX6spimXCT66AyhqCBSrOCXYXFm3ons5ANkkQBNZ/jMYczYs9T1ijNEbBNTJmLO+whOrYLyGd3iZ9X9iOmuNFBCgXp0tsN//FBsOyTl559/XY25r3GZhiKXMbrZ1IJewqJlG0+hN1y9qwWGgq5YpZPt5YJ1KGjIrcFX59/PhNQX4khPOaD5g7ZQIDAQAB", AUTOSPLIT),
65
66   // Google postmaster tools verification
67
68   CNAME("uaqn4jv2xaoe", "gv-jun5dginqysxph.dv.googlehosted.com."),
69
70   // Aliases for google services
71
72   CNAME("login", "ghs.googlehosted.com."),
73   CNAME("docs", "ghs.googlehosted.com."),
74   CNAME("mail", "ghs.googlehosted.com."),
75   CNAME("calendar", "ghs.googlehosted.com."),
76   CNAME("sites", "ghs.googlehosted.com."),
77
78   // Main web server and it's aliases
79
80   A("@", RIDLEY_IPV4),
81   A("www", RIDLEY_IPV4),
82   A("wiki", RIDLEY_IPV4),
83   A("blog", RIDLEY_IPV4),
84   A("crm", RIDLEY_IPV4),
85   A("join", RIDLEY_IPV4),
86   A("board", RIDLEY_IPV4),
87   A("dwg", RIDLEY_IPV4),
88   A("mwg", RIDLEY_IPV4),
89   A("operations", NAGA_IPV4),
90   AAAA("operations", NAGA_IPV6),
91
92   // Nextcloud instance
93
94   CNAME("files", "nextcloud-openstreetmapfoundation.cloud68.systems."),
95
96   A("hardware", IDRIS_IPV4)
97
98 );