From a1fc1b1cd907b0c66abac6450985faf63e358d0c Mon Sep 17 00:00:00 2001 From: Damian Zaremba Date: Thu, 9 May 2024 02:21:52 +0100 Subject: [PATCH] BUNNY_DNS: Add support for `ALIAS` (#2946) --- documentation/providers.md | 2 +- providers/bunnydns/bunnydnsProvider.go | 2 +- providers/bunnydns/records.go | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/documentation/providers.md b/documentation/providers.md index 1e9fc4656..cf9f3fa61 100644 --- a/documentation/providers.md +++ b/documentation/providers.md @@ -20,7 +20,7 @@ If a feature is definitively not supported for whatever reason, we would also li | [`AZURE_DNS`](provider/azure_dns.md) | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ❔ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ❌ | ❔ | ❌ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`AZURE_PRIVATE_DNS`](provider/azure_private_dns.md) | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❔ | ❔ | ❌ | ❌ | ✅ | ❔ | ✅ | ❌ | ❔ | ❌ | ❔ | ❔ | ❔ | ❔ | ✅ | ✅ | ✅ | | [`BIND`](provider/bind.md) | ✅ | ✅ | ❌ | ❌ | ❔ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | -| [`BUNNY_DNS`](provider/bunny_dns.md) | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❔ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❔ | ❌ | ❌ | ❌ | ❔ | ❔ | ❌ | ✅ | ✅ | +| [`BUNNY_DNS`](provider/bunny_dns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ | ❔ | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❔ | ❌ | ❌ | ❌ | ❔ | ❔ | ❌ | ✅ | ✅ | | [`CLOUDFLAREAPI`](provider/cloudflareapi.md) | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❔ | ❔ | ❌ | ✅ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❌ | ✅ | ✅ | | [`CLOUDNS`](provider/cloudns.md) | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ❔ | ❔ | ❌ | ❔ | ✅ | ❔ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ✅ | ❔ | ❔ | ✅ | ✅ | | [`CSCGLOBAL`](provider/cscglobal.md) | ✅ | ✅ | ✅ | ✅ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ✅ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❔ | ❌ | ✅ | diff --git a/providers/bunnydns/bunnydnsProvider.go b/providers/bunnydns/bunnydnsProvider.go index de9d899bb..3450b71a4 100644 --- a/providers/bunnydns/bunnydnsProvider.go +++ b/providers/bunnydns/bunnydnsProvider.go @@ -14,7 +14,7 @@ var features = providers.DocumentationNotes{ providers.CanAutoDNSSEC: providers.Cannot(), providers.CanGetZones: providers.Can(), providers.CanConcur: providers.Cannot(), - providers.CanUseAlias: providers.Cannot(), + providers.CanUseAlias: providers.Can("Bunny flattens CNAME records into A/AAAA records dynamically"), providers.CanUseCAA: providers.Can(), providers.CanUseDHCID: providers.Cannot(), providers.CanUseDS: providers.Cannot(), diff --git a/providers/bunnydns/records.go b/providers/bunnydns/records.go index 5a6a93446..00ff817fc 100644 --- a/providers/bunnydns/records.go +++ b/providers/bunnydns/records.go @@ -60,6 +60,10 @@ func (b *bunnydnsProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, ex if rc.Name == "@" && rc.Type == "NS" { rc.TTL = 0 } + + if rc.Type == "ALIAS" { + rc.Type = "CNAME" + } } zone, err := b.findZoneByDomain(dc.Name)