base copy of folder 3 to folder 4 for cloudflare

This commit is contained in:
deniseschannon 2017-05-10 09:38:49 -07:00
parent a5f10c3ce5
commit 923442c9cb
3 changed files with 98 additions and 0 deletions

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

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

View File

@ -0,0 +1,48 @@
.catalog:
name: "CloudFlare DNS"
version: "v0.6.0-rancher1"
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version v1.1.0"
minimum_rancher_version: v1.2.0-pre4-rc1
maximum_rancher_version: v1.5.99
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