Summary
Add support for Azure DNS as a read/write provider.
API
Azure DNS uses the Azure Resource Manager REST API. Auth via service principal (client ID + client secret + tenant ID) or managed identity.
Config
providers:
azure:
type: azure_dns
subscription_id: "${AZURE_SUBSCRIPTION_ID}"
resource_group: "${AZURE_RESOURCE_GROUP}"
tenant_id: "${AZURE_TENANT_ID}" # or env var
client_id: "${AZURE_CLIENT_ID}" # or env var
client_secret: "${AZURE_CLIENT_SECRET}" # or env var
Supports managed identity when running in Azure (no explicit credentials needed).
Implementation notes
- Use
Azure.ResourceManager.Dns + Azure.Identity for auth
GetZoneAsync: list record sets via RecordSets.ListByDnsZone
ApplyPlanAsync: create/update via RecordSets.CreateOrUpdate, delete via RecordSets.Delete
- TXT records: Azure returns values as array of strings per chunk — join per RFC 4408
Summary
Add support for Azure DNS as a read/write provider.
API
Azure DNS uses the Azure Resource Manager REST API. Auth via service principal (client ID + client secret + tenant ID) or managed identity.
Azure.ResourceManager.DnsNuGet packageConfig
Supports managed identity when running in Azure (no explicit credentials needed).
Implementation notes
Azure.ResourceManager.Dns+Azure.Identityfor authGetZoneAsync: list record sets viaRecordSets.ListByDnsZoneApplyPlanAsync: create/update viaRecordSets.CreateOrUpdate, delete viaRecordSets.Delete