Merge pull request #504 from deniseschannon/dnsfix
Creating new templates for External DNS for Rancher 1.6 that prevents templating to allow the service to work
This commit is contained in:
commit
abb419f66f
@ -3,6 +3,7 @@
|
|||||||
version: "v0.1.9-rancher1"
|
version: "v0.1.9-rancher1"
|
||||||
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
|
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||||
questions:
|
questions:
|
||||||
- variable: "CLOUDFLARE_EMAIL"
|
- variable: "CLOUDFLARE_EMAIL"
|
||||||
label: "CloudFlare email address"
|
label: "CloudFlare email address"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.2.1-rancher1"
|
version: "v0.2.1-rancher1"
|
||||||
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
|
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||||
questions:
|
questions:
|
||||||
- variable: "CLOUDFLARE_EMAIL"
|
- variable: "CLOUDFLARE_EMAIL"
|
||||||
label: "CloudFlare email address"
|
label: "CloudFlare email address"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.4.0-rancher1"
|
version: "v0.4.0-rancher1"
|
||||||
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
|
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||||
questions:
|
questions:
|
||||||
- variable: "CLOUDFLARE_EMAIL"
|
- variable: "CLOUDFLARE_EMAIL"
|
||||||
label: "CloudFlare email address"
|
label: "CloudFlare email address"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.6.0-rancher1"
|
version: "v0.6.0-rancher1"
|
||||||
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version v1.1.0"
|
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version v1.1.0"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.5.99
|
||||||
questions:
|
questions:
|
||||||
- variable: "CLOUDFLARE_EMAIL"
|
- variable: "CLOUDFLARE_EMAIL"
|
||||||
label: "CloudFlare email address"
|
label: "CloudFlare email address"
|
||||||
|
36
infra-templates/cloudflare/4/README.md
Normal file
36
infra-templates/cloudflare/4/README.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
## CloudFlare DNS
|
||||||
|
|
||||||
|
Rancher External DNS service powered by CloudFlare DNS
|
||||||
|
|
||||||
|
#### Changelog
|
||||||
|
|
||||||
|
##### v0.6.0
|
||||||
|
|
||||||
|
* Reduces the overall rate of API requests to the DNS provider
|
||||||
|
* Adds support for custom DNS naming convention
|
||||||
|
* Stack, service and environment names used in service DNS names are now sanitized to conform with RFC 1123. Characters other than `a-z`, `A-Z`, `0-9` or `dash` are replaced by dashes.
|
||||||
|
* For internal use the service creates TXT records to track the FQDNs it manages. These TXT records are named `external-dns-<environemntUUID>.<domain>` and should not be deleted.
|
||||||
|
|
||||||
|
#### Usage
|
||||||
|
|
||||||
|
##### Upgrade Notes
|
||||||
|
While upgrading from a version lower than v0.6.0 the TTL configuration value should not be changed. You may change it once the upgrade has been completed.
|
||||||
|
|
||||||
|
##### Limitation when running the service on multiple Rancher servers
|
||||||
|
|
||||||
|
When running multiple instances of the External DNS service configured to use the **same** domain name, then only one of them can run in the "Default" environment of a Rancher server instance.
|
||||||
|
|
||||||
|
##### Custom DNS name template
|
||||||
|
|
||||||
|
By default DNS entries are named `<service>.<stack>.<environment>.<domain>`.
|
||||||
|
You can specify a custom name template used to construct the subdomain part (left of the domain name) of the DNS records. The following placeholders are supported:
|
||||||
|
|
||||||
|
* `%{{service_name}}`
|
||||||
|
* `%{{stack_name}}`
|
||||||
|
* `%{{environment_name}}`
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
`%{{stack_name}}-%{{service_name}}.statictext`
|
||||||
|
|
||||||
|
Make sure to only use characters in static text and separators that are allowed by your provider in DNS names.
|
14
infra-templates/cloudflare/4/docker-compose.yml
Normal file
14
infra-templates/cloudflare/4/docker-compose.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
cloudflare:
|
||||||
|
image: rancher/external-dns:v0.6.0
|
||||||
|
command: -provider=cloudflare
|
||||||
|
expose:
|
||||||
|
- 1000
|
||||||
|
environment:
|
||||||
|
CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL}
|
||||||
|
CLOUDFLARE_KEY: ${CLOUDFLARE_KEY}
|
||||||
|
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||||
|
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||||
|
TTL: ${TTL}
|
||||||
|
labels:
|
||||||
|
io.rancher.container.create_agent: "true"
|
||||||
|
io.rancher.container.agent.role: "external-dns"
|
48
infra-templates/cloudflare/4/rancher-compose.yml
Normal file
48
infra-templates/cloudflare/4/rancher-compose.yml
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# notemplating
|
||||||
|
.catalog:
|
||||||
|
name: "CloudFlare DNS"
|
||||||
|
version: "v0.6.0-rancher2"
|
||||||
|
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version v1.1.0"
|
||||||
|
minimum_rancher_version: v1.6.0-rc1
|
||||||
|
questions:
|
||||||
|
- variable: "CLOUDFLARE_EMAIL"
|
||||||
|
label: "CloudFlare email address"
|
||||||
|
description: "Email address associated with your CloudFlare account"
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "CLOUDFLARE_KEY"
|
||||||
|
label: "CloudFlare API key"
|
||||||
|
description: "API key for your CloudFlare account"
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "ROOT_DOMAIN"
|
||||||
|
label: "Domain Name"
|
||||||
|
description: "The domain name managed by CloudFlare."
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "TTL"
|
||||||
|
label: "TTL"
|
||||||
|
description: "The resource record cache time to live (TTL), in seconds (minimum 120)"
|
||||||
|
type: "int"
|
||||||
|
default: 120
|
||||||
|
min: 120
|
||||||
|
max: 3600
|
||||||
|
required: false
|
||||||
|
- variable: "NAME_TEMPLATE"
|
||||||
|
label: "DNS Name Template"
|
||||||
|
description: |
|
||||||
|
Name template used to construct the subdomain part (left of the domain) of the DNS record names.
|
||||||
|
Supported placeholders: %{{service_name}}, %{{stack_name}}, %{{environment_name}}.
|
||||||
|
By default DNS entries will be named '<service>.<stack>.<environment>.<domain>'.
|
||||||
|
type: "string"
|
||||||
|
default: "%{{service_name}}.%{{stack_name}}.%{{environment_name}}"
|
||||||
|
required: false
|
||||||
|
|
||||||
|
cloudflare:
|
||||||
|
health_check:
|
||||||
|
port: 1000
|
||||||
|
interval: 5000
|
||||||
|
unhealthy_threshold: 3
|
||||||
|
request_line: GET / HTTP/1.0
|
||||||
|
healthy_threshold: 2
|
||||||
|
response_timeout: 2000
|
@ -1,7 +1,7 @@
|
|||||||
name: CloudFlare DNS
|
name: CloudFlare DNS
|
||||||
description: |
|
description: |
|
||||||
Rancher External DNS service powered by CloudFlare
|
Rancher External DNS service powered by CloudFlare
|
||||||
version: v0.6.0-rancher1
|
version: v0.6.0-rancher2
|
||||||
category: External DNS
|
category: External DNS
|
||||||
labels:
|
labels:
|
||||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.6.3"
|
version: "v0.6.3"
|
||||||
description: "Rancher External DNS service powered by DigitalOcean"
|
description: "Rancher External DNS service powered by DigitalOcean"
|
||||||
minimum_rancher_version: v1.5.0
|
minimum_rancher_version: v1.5.0
|
||||||
|
maximum_rancher_version: v1.5.0
|
||||||
questions:
|
questions:
|
||||||
- variable: "DO_PAT"
|
- variable: "DO_PAT"
|
||||||
label: "DigitalOcean Personal Access Token"
|
label: "DigitalOcean Personal Access Token"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.6.4"
|
version: "v0.6.4"
|
||||||
description: "Rancher External DNS service powered by DigitalOcean"
|
description: "Rancher External DNS service powered by DigitalOcean"
|
||||||
minimum_rancher_version: v1.5.0
|
minimum_rancher_version: v1.5.0
|
||||||
|
maximum_rancher_version: v1.5.99
|
||||||
questions:
|
questions:
|
||||||
- variable: "DO_PAT"
|
- variable: "DO_PAT"
|
||||||
label: "DigitalOcean Personal Access Token"
|
label: "DigitalOcean Personal Access Token"
|
||||||
|
53
infra-templates/digitalocean-dns/3/README.md
Normal file
53
infra-templates/digitalocean-dns/3/README.md
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
## DigitalOcean DNS
|
||||||
|
|
||||||
|
Rancher External DNS service powered by DigitalOcean
|
||||||
|
|
||||||
|
#### Changelog
|
||||||
|
|
||||||
|
##### v0.6.4
|
||||||
|
|
||||||
|
* Adds support for overriding name template for specific services by setting io.rancher.service.external_dns_name_template label to it in docker-compose.yml
|
||||||
|
|
||||||
|
#### Usage
|
||||||
|
|
||||||
|
##### DigitalOcean DNS record TTL
|
||||||
|
The DigitalOcean API currently does not support per-record TTL setting. You should configure the global TTL setting for the domain manually and set it to a low value (e.g. 60).
|
||||||
|
|
||||||
|
##### Limitation when running the service on multiple Rancher servers
|
||||||
|
|
||||||
|
When running multiple instances of the External DNS service configured to use the same domain name, then only one of them can run in the "Default" environment of a Rancher server instance.
|
||||||
|
|
||||||
|
##### Supported host labels
|
||||||
|
|
||||||
|
`io.rancher.host.external_dns_ip`
|
||||||
|
Override the IP address used in DNS records for containers running on the host. Defaults to the IP address the host is registered with in Rancher.
|
||||||
|
|
||||||
|
`io.rancher.host.external_dns`
|
||||||
|
Accepts 'true' (default) or 'false'
|
||||||
|
When this is set to 'false' no DNS records will ever be created for containers running on this host.
|
||||||
|
|
||||||
|
##### Supported service labels
|
||||||
|
|
||||||
|
`io.rancher.service.external_dns`
|
||||||
|
Accepts 'always', 'never' or 'auto' (default)
|
||||||
|
- `always`: Always create DNS records for this service
|
||||||
|
- `never`: Never create DNS records for this service
|
||||||
|
- `auto`: Create DNS records for this service if it exposes ports on the host
|
||||||
|
|
||||||
|
`io.rancher.service.external_dns_name_template`
|
||||||
|
Custom DNS name template that overrides global custom DNS name template (see below) of default DNS name template for a specific service
|
||||||
|
|
||||||
|
##### Custom DNS name template
|
||||||
|
|
||||||
|
By default DNS entries are named `<service>.<stack>.<environment>.<domain>`.
|
||||||
|
You can specify a custom name template used to construct the subdomain part (left of the domain/zone name) of the DNS records. The following placeholders are supported:
|
||||||
|
|
||||||
|
* `%{{service_name}}`
|
||||||
|
* `%{{stack_name}}`
|
||||||
|
* `%{{environment_name}}`
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
`%{{stack_name}}-%{{service_name}}.statictext`
|
||||||
|
|
||||||
|
Make sure to only use characters in static text and separators that your provider allows in DNS names.
|
13
infra-templates/digitalocean-dns/3/docker-compose.yml
Normal file
13
infra-templates/digitalocean-dns/3/docker-compose.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
digitalocean:
|
||||||
|
image: rancher/external-dns:v0.6.4
|
||||||
|
command: -provider=digitalocean
|
||||||
|
expose:
|
||||||
|
- 1000
|
||||||
|
environment:
|
||||||
|
DO_PAT: ${DO_PAT}
|
||||||
|
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||||
|
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||||
|
TTL: 300
|
||||||
|
labels:
|
||||||
|
io.rancher.container.create_agent: "true"
|
||||||
|
io.rancher.container.agent.role: "external-dns"
|
35
infra-templates/digitalocean-dns/3/rancher-compose.yml
Normal file
35
infra-templates/digitalocean-dns/3/rancher-compose.yml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# notemplating
|
||||||
|
.catalog:
|
||||||
|
name: "DigitalOcean DNS"
|
||||||
|
version: "v0.6.4.1"
|
||||||
|
description: "Rancher External DNS service powered by DigitalOcean"
|
||||||
|
minimum_rancher_version: v1.6.0-rc1
|
||||||
|
questions:
|
||||||
|
- variable: "DO_PAT"
|
||||||
|
label: "DigitalOcean Personal Access Token"
|
||||||
|
description: "Enter your personal access token"
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "ROOT_DOMAIN"
|
||||||
|
label: "Domain Name"
|
||||||
|
description: "The domain name managed by DigitalOcean."
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "NAME_TEMPLATE"
|
||||||
|
label: "DNS Name Template"
|
||||||
|
description: |
|
||||||
|
Name template used to construct the subdomain part (left of the domain) of the DNS record names.
|
||||||
|
Supported placeholders: %{{service_name}}, %{{stack_name}}, %{{environment_name}}.
|
||||||
|
By default DNS entries will be named '<service>.<stack>.<environment>.<domain>'.
|
||||||
|
type: "string"
|
||||||
|
default: "%{{service_name}}.%{{stack_name}}.%{{environment_name}}"
|
||||||
|
required: false
|
||||||
|
|
||||||
|
digitalocean:
|
||||||
|
health_check:
|
||||||
|
port: 1000
|
||||||
|
interval: 5000
|
||||||
|
unhealthy_threshold: 3
|
||||||
|
request_line: GET / HTTP/1.0
|
||||||
|
healthy_threshold: 2
|
||||||
|
response_timeout: 2000
|
@ -1,7 +1,7 @@
|
|||||||
name: DigitalOcean DNS
|
name: DigitalOcean DNS
|
||||||
description: |
|
description: |
|
||||||
Rancher External DNS service powered by DigitalOcean
|
Rancher External DNS service powered by DigitalOcean
|
||||||
version: v0.6.4
|
version: v0.6.4.1
|
||||||
category: External DNS
|
category: External DNS
|
||||||
labels:
|
labels:
|
||||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.1.9-rancher1"
|
version: "v0.1.9-rancher1"
|
||||||
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version 0.44.0"
|
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version 0.44.0"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||||
questions:
|
questions:
|
||||||
- variable: "DNSIMPLE_EMAIL"
|
- variable: "DNSIMPLE_EMAIL"
|
||||||
label: "DNSimple account email address"
|
label: "DNSimple account email address"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.2.1-rancher1"
|
version: "v0.2.1-rancher1"
|
||||||
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version 0.44.0"
|
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version 0.44.0"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||||
questions:
|
questions:
|
||||||
- variable: "DNSIMPLE_EMAIL"
|
- variable: "DNSIMPLE_EMAIL"
|
||||||
label: "DNSimple account email address"
|
label: "DNSimple account email address"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.6.0-rancher1"
|
version: "v0.6.0-rancher1"
|
||||||
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version v1.1.0"
|
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version v1.1.0"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.5.99
|
||||||
questions:
|
questions:
|
||||||
- variable: "DNSIMPLE_EMAIL"
|
- variable: "DNSIMPLE_EMAIL"
|
||||||
label: "DNSimple Account Email Address"
|
label: "DNSimple Account Email Address"
|
||||||
|
36
infra-templates/dnsimple/3/README.md
Normal file
36
infra-templates/dnsimple/3/README.md
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
## DNSimple DNS
|
||||||
|
|
||||||
|
Rancher External DNS service powered by DNSimple DNS
|
||||||
|
|
||||||
|
#### Changelog
|
||||||
|
|
||||||
|
##### v0.6.0
|
||||||
|
|
||||||
|
* Reduces the overall rate of API requests to the DNS provider
|
||||||
|
* Adds support for custom DNS naming convention
|
||||||
|
* Stack, service and environment names used in service DNS names are now sanitized to conform with RFC 1123. Characters other than `a-z`, `A-Z`, `0-9` or `dash` are replaced by dashes.
|
||||||
|
* For internal use the service creates TXT records to track the FQDNs it manages. These TXT records are named `external-dns-<environemntUUID>.<domain>` and should not be deleted.
|
||||||
|
|
||||||
|
#### Usage
|
||||||
|
|
||||||
|
##### Upgrade Notes
|
||||||
|
While upgrading from a version lower than v0.6.0 the TTL configuration value should not be changed. You may change it once the upgrade has been completed.
|
||||||
|
|
||||||
|
##### Limitation when running the service on multiple Rancher servers
|
||||||
|
|
||||||
|
When running multiple instances of the External DNS service configured to use the **same** domain name, then only one of them can run in the "Default" environment of a Rancher server instance.
|
||||||
|
|
||||||
|
##### Custom DNS name template
|
||||||
|
|
||||||
|
By default DNS entries are named `<service>.<stack>.<environment>.<domain>`.
|
||||||
|
You can specify a custom name template used to construct the subdomain part (left of the domain/zone name) of the DNS records. The following placeholders are supported:
|
||||||
|
|
||||||
|
* `%{{service_name}}`
|
||||||
|
* `%{{stack_name}}`
|
||||||
|
* `%{{environment_name}}`
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
`%{{stack_name}}-%{{service_name}}.statictext`
|
||||||
|
|
||||||
|
Make sure to only use characters in static text and separators that your provider allows in DNS names.
|
14
infra-templates/dnsimple/3/docker-compose.yml
Normal file
14
infra-templates/dnsimple/3/docker-compose.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
dnsimple:
|
||||||
|
image: rancher/external-dns:v0.6.0
|
||||||
|
command: -provider=dnsimple
|
||||||
|
expose:
|
||||||
|
- 1000
|
||||||
|
environment:
|
||||||
|
DNSIMPLE_TOKEN: ${DNSIMPLE_TOKEN}
|
||||||
|
DNSIMPLE_EMAIL: ${DNSIMPLE_EMAIL}
|
||||||
|
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||||
|
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||||
|
TTL: ${TTL}
|
||||||
|
labels:
|
||||||
|
io.rancher.container.create_agent: "true"
|
||||||
|
io.rancher.container.agent.role: "external-dns"
|
46
infra-templates/dnsimple/3/rancher-compose.yml
Normal file
46
infra-templates/dnsimple/3/rancher-compose.yml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
# notemplating
|
||||||
|
.catalog:
|
||||||
|
name: "DNSimple DNS"
|
||||||
|
version: "v0.6.0-rancher2"
|
||||||
|
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version v1.1.0"
|
||||||
|
minimum_rancher_version: v1.6.0-rc1
|
||||||
|
questions:
|
||||||
|
- variable: "DNSIMPLE_EMAIL"
|
||||||
|
label: "DNSimple Account Email Address"
|
||||||
|
description: "Email address associated with your DNSimple account"
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "DNSIMPLE_TOKEN"
|
||||||
|
label: "DNSimple API Token"
|
||||||
|
description: "API token for your DNSimple account"
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "ROOT_DOMAIN"
|
||||||
|
label: "Root Domain"
|
||||||
|
description: "The domain name managed by DNSimple."
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "TTL"
|
||||||
|
label: "TTL"
|
||||||
|
description: "The resource record cache time to live (TTL), in seconds"
|
||||||
|
type: "int"
|
||||||
|
default: 60
|
||||||
|
required: false
|
||||||
|
- variable: "NAME_TEMPLATE"
|
||||||
|
label: "DNS Name Template"
|
||||||
|
description: |
|
||||||
|
Name template used to construct the subdomain part (left of the root domain name) of the DNS record names.
|
||||||
|
Supported placeholders: %{{service_name}}, %{{stack_name}}, %{{environment_name}}.
|
||||||
|
By default DNS entries will be named '<service>.<stack>.<environment>.<domain>'.
|
||||||
|
type: "string"
|
||||||
|
default: "%{{service_name}}.%{{stack_name}}.%{{environment_name}}"
|
||||||
|
required: false
|
||||||
|
|
||||||
|
dnsimple:
|
||||||
|
health_check:
|
||||||
|
port: 1000
|
||||||
|
interval: 15000
|
||||||
|
unhealthy_threshold: 2
|
||||||
|
request_line: GET / HTTP/1.0
|
||||||
|
healthy_threshold: 2
|
||||||
|
response_timeout: 2000
|
@ -1,7 +1,7 @@
|
|||||||
name: DNSimple DNS
|
name: DNSimple DNS
|
||||||
description: |
|
description: |
|
||||||
Rancher External DNS service powered by DNSimple
|
Rancher External DNS service powered by DNSimple
|
||||||
version: v0.6.0-rancher1
|
version: v0.6.0-rancher2
|
||||||
category: External DNS
|
category: External DNS
|
||||||
labels:
|
labels:
|
||||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.5.0-rancher1"
|
version: "v0.5.0-rancher1"
|
||||||
description: "Rancher External DNS service powered by any RFC2136 compatible DNS"
|
description: "Rancher External DNS service powered by any RFC2136 compatible DNS"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||||
questions:
|
questions:
|
||||||
- variable: "RFC2136_HOST"
|
- variable: "RFC2136_HOST"
|
||||||
label: "Domain Name Server IP"
|
label: "Domain Name Server IP"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.6.0-rancher1"
|
version: "v0.6.0-rancher1"
|
||||||
description: "Rancher External DNS service powered by any RFC2136 compatible DNS server. Requires Rancher version v1.1.0"
|
description: "Rancher External DNS service powered by any RFC2136 compatible DNS server. Requires Rancher version v1.1.0"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||||
questions:
|
questions:
|
||||||
- variable: "RFC2136_HOST"
|
- variable: "RFC2136_HOST"
|
||||||
label: "DNS Server IP"
|
label: "DNS Server IP"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
version: "v0.6.2-rancher1"
|
version: "v0.6.2-rancher1"
|
||||||
description: "Rancher External DNS service powered by any RFC2136 compatible DNS server. Requires Rancher version v1.1.0"
|
description: "Rancher External DNS service powered by any RFC2136 compatible DNS server. Requires Rancher version v1.1.0"
|
||||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||||
|
maximum_rancher_version: v1.5.99
|
||||||
questions:
|
questions:
|
||||||
- variable: "RFC2136_HOST"
|
- variable: "RFC2136_HOST"
|
||||||
label: "DNS Server IP"
|
label: "DNS Server IP"
|
||||||
|
52
infra-templates/dnsupdate-rfc2136/3/README.md
Normal file
52
infra-templates/dnsupdate-rfc2136/3/README.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
## DNS Update (RFC2136)
|
||||||
|
|
||||||
|
Rancher External DNS service powered by any RFC2136 compatible DNS server
|
||||||
|
|
||||||
|
#### Changelog
|
||||||
|
|
||||||
|
##### v0.6.2
|
||||||
|
|
||||||
|
* Adds support for disabling/enforcing external DNS on the host and service level using labels
|
||||||
|
* Adds support for insecure DNS Updates
|
||||||
|
* Fixes an issue with lingering TCP keep-alive connections to the Rancher Metadata service
|
||||||
|
|
||||||
|
#### Usage
|
||||||
|
|
||||||
|
##### Upgrade Notes
|
||||||
|
While upgrading from a version lower than v0.6.0 the TTL configuration value should not be changed. You may change it once the upgrade has been completed.
|
||||||
|
|
||||||
|
##### Limitation when running the service on multiple Rancher servers
|
||||||
|
|
||||||
|
When running multiple instances of the External DNS service configured to use the same domain name, then only one of them can run in the "Default" environment of a Rancher server instance.
|
||||||
|
|
||||||
|
##### Supported host labels
|
||||||
|
|
||||||
|
`io.rancher.host.external_dns_ip`
|
||||||
|
Override the IP address used in DNS records for containers running on the host. Defaults to the IP address the host is registered with in Rancher.
|
||||||
|
|
||||||
|
`io.rancher.host.external_dns`
|
||||||
|
Accepts 'true' (default) or 'false'
|
||||||
|
When this is set to 'false' no DNS records will ever be created for containers running on this host.
|
||||||
|
|
||||||
|
##### Supported service labels
|
||||||
|
|
||||||
|
`io.rancher.service.external_dns`
|
||||||
|
Accepts 'always', 'never' or 'auto' (default)
|
||||||
|
- `always`: Always create DNS records for this service
|
||||||
|
- `never`: Never create DNS records for this service
|
||||||
|
- `auto`: Create DNS records for this service if it exposes ports on the host
|
||||||
|
|
||||||
|
##### Custom DNS name template
|
||||||
|
|
||||||
|
By default DNS entries are named `<service>.<stack>.<environment>.<domain>`.
|
||||||
|
You can specify a custom name template used to construct the subdomain part (left of the domain/zone name) of the DNS records. The following placeholders are supported:
|
||||||
|
|
||||||
|
* `%{{service_name}}`
|
||||||
|
* `%{{stack_name}}`
|
||||||
|
* `%{{environment_name}}`
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
`%{{stack_name}}-%{{service_name}}.statictext`
|
||||||
|
|
||||||
|
Make sure to only use characters in static text and separators that your provider allows in DNS names.
|
17
infra-templates/dnsupdate-rfc2136/3/docker-compose.yml
Normal file
17
infra-templates/dnsupdate-rfc2136/3/docker-compose.yml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
rfc2136dns:
|
||||||
|
image: rancher/external-dns:v0.6.2
|
||||||
|
command: -provider=rfc2136
|
||||||
|
expose:
|
||||||
|
- 1000
|
||||||
|
environment:
|
||||||
|
RFC2136_HOST: ${RFC2136_HOST}
|
||||||
|
RFC2136_PORT: ${RFC2136_PORT}
|
||||||
|
RFC2136_TSIG_KEYNAME: ${RFC2136_TSIG_KEYNAME}
|
||||||
|
RFC2136_TSIG_SECRET: ${RFC2136_TSIG_SECRET}
|
||||||
|
RFC2136_INSECURE: ${RFC2136_INSECURE}
|
||||||
|
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||||
|
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||||
|
TTL: ${TTL}
|
||||||
|
labels:
|
||||||
|
io.rancher.container.create_agent: "true"
|
||||||
|
io.rancher.container.agent.role: "external-dns"
|
63
infra-templates/dnsupdate-rfc2136/3/rancher-compose.yml
Normal file
63
infra-templates/dnsupdate-rfc2136/3/rancher-compose.yml
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
# notemplating
|
||||||
|
.catalog:
|
||||||
|
name: "DNS Update (RFC2136)"
|
||||||
|
version: "v0.6.2-rancher2"
|
||||||
|
description: "Rancher External DNS service powered by any RFC2136 compatible DNS server. Requires Rancher version v1.1.0"
|
||||||
|
minimum_rancher_version: v1.6.0-rc1
|
||||||
|
questions:
|
||||||
|
- variable: "RFC2136_HOST"
|
||||||
|
label: "DNS Server IP"
|
||||||
|
description: "Server IP or Hostname"
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "RFC2136_PORT"
|
||||||
|
label: "DNS Server Port"
|
||||||
|
description: "Server port"
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
default: "53"
|
||||||
|
- variable: "RFC2136_INSECURE"
|
||||||
|
description: "Disables TSIG authentication for DNS Update requests"
|
||||||
|
label: "Insecure DNS Update"
|
||||||
|
required: true
|
||||||
|
default: false
|
||||||
|
type: "boolean"
|
||||||
|
- variable: "RFC2136_TSIG_KEYNAME"
|
||||||
|
label: "TSIG Key Name"
|
||||||
|
description: "Name of the TSIG key used for authenticating with the DNS server"
|
||||||
|
type: "string"
|
||||||
|
required: false
|
||||||
|
- variable: "RFC2136_TSIG_SECRET"
|
||||||
|
label: "TSIG Key"
|
||||||
|
description: "TSIG secret key used for authenticating with the DNS server (HMAC-MD5, base64 encoded)"
|
||||||
|
type: "string"
|
||||||
|
required: false
|
||||||
|
- variable: "TTL"
|
||||||
|
label: "TTL"
|
||||||
|
description: "The resource record cache time to live (TTL), in seconds"
|
||||||
|
type: "int"
|
||||||
|
default: 60
|
||||||
|
required: false
|
||||||
|
- variable: "ROOT_DOMAIN"
|
||||||
|
label: "Zone name"
|
||||||
|
description: "The name of an existing zone in which to create the records."
|
||||||
|
type: "string"
|
||||||
|
required: true
|
||||||
|
- variable: "NAME_TEMPLATE"
|
||||||
|
label: "DNS Name Template"
|
||||||
|
description: |
|
||||||
|
Name template used to construct the subdomain part (left of the zone/domain name) of the DNS record names.
|
||||||
|
Supported placeholders: %{{service_name}}, %{{stack_name}}, %{{environment_name}}.
|
||||||
|
By default DNS entries will be named '<service>.<stack>.<environment>.<domain>'.
|
||||||
|
type: "string"
|
||||||
|
default: "%{{service_name}}.%{{stack_name}}.%{{environment_name}}"
|
||||||
|
required: false
|
||||||
|
|
||||||
|
rfc2136dns:
|
||||||
|
health_check:
|
||||||
|
port: 1000
|
||||||
|
interval: 5000
|
||||||
|
unhealthy_threshold: 3
|
||||||
|
request_line: GET / HTTP/1.0
|
||||||
|
healthy_threshold: 2
|
||||||
|
response_timeout: 2000
|
@ -1,7 +1,7 @@
|
|||||||
name: DNS Update (RFC2136)
|
name: DNS Update (RFC2136)
|
||||||
description: |
|
description: |
|
||||||
Rancher External DNS service powered by any RFC2136 compatible DNS
|
Rancher External DNS service powered by any RFC2136 compatible DNS
|
||||||
version: v0.6.2-rancher1
|
version: v0.6.2-rancher2
|
||||||
category: External DNS
|
category: External DNS
|
||||||
labels:
|
labels:
|
||||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user