basecopy of folder 2 to 3 for dnsimple

This commit is contained in:
deniseschannon 2017-05-10 11:10:33 -07:00
parent 32f254cd13
commit c3db25bc27
3 changed files with 95 additions and 0 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.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