move hardcodedRecords into Xip struct for instance isolation
- replace global hardcodedRecords/mutex with instance fields - add initialRecords() factory for fresh record copies per instance - rename initHardcodedRecords to initNameServers, pass nameservers explicitly - add TestInstanceIsolation to verify instances don't share state - fix unassigned err in certs/persistFiles
This commit is contained in:
@@ -15,38 +15,39 @@ type hardcodedRecord struct {
|
||||
SRV *dns.SRV
|
||||
}
|
||||
|
||||
var hardcodedRecords = map[string]hardcodedRecord{
|
||||
// additional records I set up to host emails, feel free to change or remove them for your own needs
|
||||
"local-ip.sh.": {
|
||||
TXT: []string{"v=spf1 include:capsulecorp.dev ~all"},
|
||||
MX: []*dns.MX{
|
||||
{Preference: 10, Mx: "email.capsulecorp.dev."},
|
||||
func initialRecords() map[string]hardcodedRecord {
|
||||
return map[string]hardcodedRecord{
|
||||
"local-ip.sh.": {
|
||||
TXT: []string{"v=spf1 include:capsulecorp.dev ~all"},
|
||||
MX: []*dns.MX{
|
||||
{Preference: 10, Mx: "email.capsulecorp.dev."},
|
||||
},
|
||||
},
|
||||
},
|
||||
"autodiscover.local-ip.sh.": {
|
||||
CNAME: []string{
|
||||
"email.capsulecorp.dev.",
|
||||
"autodiscover.local-ip.sh.": {
|
||||
CNAME: []string{
|
||||
"email.capsulecorp.dev.",
|
||||
},
|
||||
},
|
||||
},
|
||||
"_autodiscover._tcp.local-ip.sh.": {
|
||||
SRV: &dns.SRV{
|
||||
Priority: 0,
|
||||
Weight: 0,
|
||||
Port: 443,
|
||||
Target: "email.capsulecorp.dev.",
|
||||
"_autodiscover._tcp.local-ip.sh.": {
|
||||
SRV: &dns.SRV{
|
||||
Priority: 0,
|
||||
Weight: 0,
|
||||
Port: 443,
|
||||
Target: "email.capsulecorp.dev.",
|
||||
},
|
||||
},
|
||||
},
|
||||
"autoconfig.local-ip.sh.": {
|
||||
CNAME: []string{
|
||||
"email.capsulecorp.dev.",
|
||||
"autoconfig.local-ip.sh.": {
|
||||
CNAME: []string{
|
||||
"email.capsulecorp.dev.",
|
||||
},
|
||||
},
|
||||
},
|
||||
"_dmarc.local-ip.sh.": {
|
||||
TXT: []string{"v=DMARC1; p=none; rua=mailto:postmaster@local-ip.sh; ruf=mailto:admin@local-ip.sh"},
|
||||
},
|
||||
"dkim._domainkey.local-ip.sh.": {
|
||||
TXT: []string{
|
||||
"v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsMW6NFo34qzKRPbzK41GwbWncB8IDg1i2eA2VWznIVDmTzzsqILaBOGv2xokVpzZm0QRF9wSbeVUmvwEeQ7Z6wkfMjawenDEc3XxsNSvQUVBP6LU/xcm1zsR8wtD8r5J+Jm45pNFaateiM/kb/Eypp2ntdtd8CPsEgCEDpNb62LWdy0yzRdZ/M/fNn51UMN8hVFp4YfZngAt3bQwa6kPtgvTeqEbpNf5xanpDysNJt2S8zfqJMVGvnr8JaJiTv7ZlKMMp94aC5Ndcir1WbMyfmgSnGgemuCTVMWDGPJnXDi+8BQMH1b1hmTpWDiVdVlehyyWx5AfPrsWG9cEuDIfXwIDAQAB",
|
||||
"_dmarc.local-ip.sh.": {
|
||||
TXT: []string{"v=DMARC1; p=none; rua=mailto:postmaster@local-ip.sh; ruf=mailto:admin@local-ip.sh"},
|
||||
},
|
||||
},
|
||||
"dkim._domainkey.local-ip.sh.": {
|
||||
TXT: []string{
|
||||
"v=DKIM1;k=rsa;t=s;s=email;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsMW6NFo34qzKRPbzK41GwbWncB8IDg1i2eA2VWznIVDmTzzsqILaBOGv2xokVpzZm0QRF9wSbeVUmvwEeQ7Z6wkfMjawenDEc3XxsNSvQUVBP6LU/xcm1zsR8wtD8r5J+Jm45pNFaateiM/kb/Eypp2ntdtd8CPsEgCEDpNb62LWdy0yzRdZ/M/fNn51UMN8hVFp4YfZngAt3bQwa6kPtgvTeqEbpNf5xanpDysNJt2S8zfqJMVGvnr8JaJiTv7ZlKMMp94aC5Ndcir1WbMyfmgSnGgemuCTVMWDGPJnXDi+8BQMH1b1hmTpWDiVdVlehyyWx5AfPrsWG9cEuDIfXwIDAQAB",
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user