fix(gandi): conversion to @ for apex domains is not robust

This commit is contained in:
Gaëtan Faugère 2023-08-24 14:02:51 +02:00
parent 5a6e12f254
commit c5b488df4e
No known key found for this signature in database
GPG Key ID: 78C917DD1AFC5A78

View File

@ -166,15 +166,28 @@ func (p *GandiProvider) submitChanges(ctx context.Context, changes []*GandiChang
for _, changes := range zoneChanges {
for _, change := range changes {
// Prepare record name
recordName := strings.TrimSuffix(change.Record.RrsetName, "."+change.ZoneName)
if recordName == change.ZoneName {
recordName = "@"
}
if change.Record.RrsetType == endpoint.RecordTypeCNAME && !strings.HasSuffix(change.Record.RrsetValues[0], ".") {
change.Record.RrsetValues[0] += "."
}
change.Record.RrsetName = recordName
// Prepare record name
if change.Record.RrsetName == change.ZoneName {
log.WithFields(log.Fields{
"record": change.Record.RrsetName,
"type": change.Record.RrsetType,
"value": change.Record.RrsetValues[0],
"ttl": change.Record.RrsetTTL,
"action": change.Action,
"zone": change.ZoneName,
}).Debugf("Converting record name: %s to apex domain (@)", change.Record.RrsetName)
change.Record.RrsetName = "@"
} else {
change.Record.RrsetName = strings.TrimSuffix(
change.Record.RrsetName,
"."+change.ZoneName,
)
}
log.WithFields(log.Fields{
"record": change.Record.RrsetName,