coredns/plugin/azure
Miek Gieben 004c5fca9d
all: simply registering plugins (#3287)
Abstract the caddy call and make it simpler.

See #3261 for some part of the discussion.

Go from:

~~~ go
func init() {
       caddy.RegisterPlugin("any", caddy.Plugin{
               ServerType: "dns",
               Action:     setup,
       })
}
~~~

To:

~~~ go
func init() { plugin.Register("any", setup) }
~~~

This requires some external documents in coredns.io to be updated as
well; the old way still works, so it's backwards compatible.

Signed-off-by: Miek Gieben <miek@miek.nl>
2019-09-20 08:02:30 +01:00
..
azure.go typo fixes (#3169) 2019-08-21 16:08:55 -04:00
azure_test.go Add plugin for Azure DNS (#2945) 2019-08-09 08:10:28 +01:00
OWNERS Add plugin for Azure DNS (#2945) 2019-08-09 08:10:28 +01:00
README.md plugin/azure: clean up readme (#3102) 2019-08-09 08:10:26 -07:00
setup.go all: simply registering plugins (#3287) 2019-09-20 08:02:30 +01:00
setup_test.go Add plugin for Azure DNS (#2945) 2019-08-09 08:10:28 +01:00

azure

Name

azure - enables serving zone data from Microsoft Azure DNS service.

Description

The azure plugin is useful for serving zones from Microsoft Azure DNS. The azure plugin supports all the DNS records supported by Azure, viz. A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, and TXT record types.

Syntax

azure RESOURCE_GROUP:ZONE... {
    tenant TENANT_ID
    client CLIENT_ID
    secret CLIENT_SECRET
    subscription SUBSCRIPTION_ID
    environment ENVIRONMENT
    fallthrough [ZONES...]
}
  • RESOURCE_GROUP:ZONE is the resource group to which the hosted zones belongs on Azure, and ZONE the zone that contains data.

  • CLIENT_ID and CLIENT_SECRET are the credentials for Azure, and tenant specifies the TENANT_ID to be used. SUBSCRIPTION_ID is the subscription ID. All of these are needed to access the data in Azure.

  • environment specifies the Azure ENVIRONMENT.

  • fallthrough If zone matches and no record can be generated, pass request to the next plugin. If ZONES is omitted, then fallthrough happens for all zones for which the plugin is authoritative.

Examples

Enable the azure plugin with Azure credentials for the zone example.org:

example.org {
    azure resource_group_foo:example.org {
      tenant 123abc-123abc-123abc-123abc
      client 123abc-123abc-123abc-234xyz
      subscription 123abc-123abc-123abc-563abc
      secret mysecret
    }
}

Also See

The Azure DNS Overview.