DNSimple v0.6.0

This commit is contained in:
janeczku 2016-10-24 12:57:37 +02:00
parent f12fa22603
commit 4db7e34cef
4 changed files with 96 additions and 1 deletions

View 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.

View 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"

View File

@ -0,0 +1,45 @@
.catalog:
name: "DNSimple DNS"
version: "v0.6.0-rancher1"
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version v1.1.0"
minimum_rancher_version: v1.1.0
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

View File

@ -1,5 +1,5 @@
name: DNSimple DNS
description: |
Rancher External DNS service powered by DNSimple
version: v0.2.1-rancher1
version: v0.6.0-rancher1
category: Rancher Services