Skip to content

Provider: Azure DNS #33

Description

@cl8dep

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions