Moved external DNS to infra-templates, added min/max versions and updated category to External DNS

This commit is contained in:
deniseschannon 2016-11-20 08:17:34 -08:00
parent 27f6f8bb8f
commit 440fac6202
60 changed files with 1459 additions and 7 deletions

View File

@ -0,0 +1,11 @@
bind9:
image: digitallumberjack/docker-bind9:v1.2.0
ports:
- ${BIND9_PORT}:53/tcp
- ${BIND9_PORT}:53/udp
environment:
BIND9_ROOTDOMAIN: ${BIND9_ROOTDOMAIN}
BIND9_KEYNAME: ${BIND9_KEYNAME}
BIND9_KEY: ${BIND9_KEY}
BIND9_FORWARDERS: ${BIND9_FORWARDERS}
RANCHER_ENV: "true"

View File

@ -0,0 +1,44 @@
.catalog:
name: "Bind9 DNS"
version: "v1.0.0-rancher1"
description: "Domain Name Server powered by Bind9"
minimum_rancher_version: v1.2.0-pre4-rc3
questions:
- variable: "BIND9_ROOTDOMAIN"
label: "The root domain to manage in bind9"
description: "This root domain will be managed by the Bind9 server. Updates and axfr requests will be made on this domain"
type: "string"
required: true
- variable: "BIND9_KEYNAME"
label: "Bind9 TSIG Keyname"
description: "The TSIG keyname"
type: "string"
required: true
- variable: "BIND9_KEY"
label: "Bind9 TSIG Key (base64 encoded)"
description: "The TSIG key. Must be base64 encoded"
type: "string"
required: true
- variable: "BIND9_PORT"
label: "Bind9 port"
description: "Bind9 port to expose on host. Will be used to bind both TCP and UDP"
type: "string"
default: 53
required: true
- variable: "BIND9_FORWARDERS"
label: "Bind9 dns forwarders"
description: "The DNS forwarders"
type: "string"
default: 8.8.8.8;8.8.4.4;
required: true
bind9:
scale: 1
health_check:
port: ${BIND9_PORT}
interval: 2000
initializing_timeout: 20000
unhealthy_threshold: 3
strategy: recreate
healthy_threshold: 2
response_timeout: 2000

View File

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Calque_1"
x="0px"
y="0px"
width="128"
height="128"
viewBox="0 0 127.99999 128"
enable-background="new 0 0 595.28 841.89"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="catalogIcon-dnsimple.svg"><metadata
id="metadata51"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs49" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1451"
inkscape:window-height="954"
id="namedview47"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="12.68591"
inkscape:cx="82.553879"
inkscape:cy="38.60826"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="text3354" /><circle
cx="64"
cy="64"
r="64"
id="circle3"
style="fill:#7bb6dc" /><circle
cx="64"
cy="62"
r="38"
id="circle5"
style="fill:#256f9a" /><path
d="m 104.293,77 -1.817,0 C 104.105,72.641 105,67.926 105,63 105,40.908 87.09,23 65,23 42.908,23 25,40.908 25,63 c 0,16.786 10.343,31.147 25,37.081 l 0,4.189 c 0,0.955 0.765,1.73 1.707,1.73 l 52.586,0 c 0.942,0 1.707,-0.775 1.707,-1.73 l 0,-25.541 C 106,77.773 105.235,77 104.293,77 Z"
id="path7"
inkscape:connector-curvature="0"
style="opacity:0.25;fill:#010202" /><path
d="m 64,22 c -22.092,0 -40,17.908 -40,40 0,22.09 17.908,40 40,40 22.09,0 40,-17.91 40,-40 C 104,39.908 86.09,22 64,22 Z m 0,76 C 44.117,98 28,81.881 28,62 28,42.117 44.117,26 64,26 c 19.881,0 36,16.117 36,36 0,19.881 -16.119,36 -36,36 z"
id="path9"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
stroke-miterlimit="10"
d="m 32,45 c 6,-4 21.852,-4.389 33,-2 14,3 34,13 36,24"
id="path11"
inkscape:connector-curvature="0"
style="fill:none;stroke:#ffffff;stroke-width:3;stroke-miterlimit:10" /><path
stroke-miterlimit="10"
d="M 92,85 C 85.242,87.518 64.815,82.799 55,77 33,64 24,48 24,42 c 0,-3 7,-2 7,-2"
id="path13"
inkscape:connector-curvature="0"
style="fill:none;stroke:#ffffff;stroke-width:3;stroke-miterlimit:10" /><path
stroke-miterlimit="10"
d="M 97.597,46.563 C 97.758,52.065 88,76 79,85 71.272,92.727 64,98 61,99"
id="path15"
inkscape:connector-curvature="0"
style="fill:none;stroke:#ffffff;stroke-width:3;stroke-miterlimit:10" /><path
stroke-miterlimit="10"
d="m 94,39 c 0,0 3.452,-6.534 0,-9 C 87,25 62,41 49.812,54.414 42.145,62.852 33,91.001 37,97.001 c 1.24,1.859 4,-2 4,-2"
id="path17"
inkscape:connector-curvature="0"
style="fill:none;stroke:#ffffff;stroke-width:3;stroke-miterlimit:10" /><circle
cx="62.5"
cy="42.5"
r="5.5"
id="circle19"
style="fill:#ffffff" /><circle
cx="41.5"
cy="68.5"
r="5.5"
id="circle21"
style="fill:#ffffff" /><circle
cx="93.5"
cy="57.5"
r="5.5"
id="circle23"
style="fill:#ffffff" /><g
id="g25"
transform="translate(-234.125,-356.875)"><path
d="m 339.125,460.145 c 0,0.955 -0.765,1.73 -1.707,1.73 l -52.586,0 c -0.942,0 -1.707,-0.775 -1.707,-1.73 l 0,-25.541 c 0,-0.955 0.765,-1.729 1.707,-1.729 l 52.586,0 c 0.942,0 1.707,0.773 1.707,1.729 l 0,25.541 z"
id="path27"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><rect
x="286.125"
y="435.875"
width="50"
height="23"
id="rect29"
style="fill:#f6a356" /><g
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text3354"><path
d="m 289.87738,448.12195 0,3.50708 1.55518,0 q 1.11877,0 1.56311,-0.38086 0.45227,-0.38086 0.45227,-1.32507 0,-0.96009 -0.46814,-1.38062 -0.46814,-0.42053 -1.54724,-0.42053 l -1.55518,0 z m 0,-4.61792 0,2.75329 1.55518,0 q 0.88867,0 1.26159,-0.31738 0.38086,-0.31738 0.38086,-1.04736 0,-0.72998 -0.38879,-1.0553 -0.38086,-0.33325 -1.25366,-0.33325 l -1.55518,0 z m -2.26135,-1.86463 3.81653,0 q 1.9757,0 2.96753,0.75379 0.99975,0.74585 0.99975,2.23755 0,1.14258 -0.58716,1.78528 -0.58716,0.6427 -1.7218,0.74585 1.35681,0.13488 2.03919,0.91247 0.6903,0.77759 0.6903,2.17407 0,1.71387 -1.03149,2.48352 -1.03149,0.76966 -3.35632,0.76966 l -3.81653,0 0,-11.86219 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.25px;font-family:monospace;-inkscape-font-specification:'monospace Bold'"
id="path3359" /><path
d="m 297.76434,443.71826 0,-2.06299 7.05384,0 0,2.06299 -2.35657,0 0,7.72034 2.35657,0 0,2.06299 -7.05384,0 0,-2.06299 2.35657,0 0,-7.72034 -2.35657,0 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.25px;font-family:monospace;-inkscape-font-specification:'monospace Bold'"
id="path3361" /><path
d="m 307.1192,441.65527 2.51526,0 3.30078,8.60901 0,-8.60901 2.06299,0 0,11.84632 -2.49939,0 -3.31665,-8.60901 0,8.60901 -2.06299,0 0,-11.84632 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.25px;font-family:monospace;-inkscape-font-specification:'monospace Bold'"
id="path3363" /><path
d="m 319.37811,443.76587 0,7.62512 0.63477,0 q 1.38061,0 1.96777,-0.86487 0.58716,-0.8728 0.58716,-2.95959 0,-2.07092 -0.58716,-2.93579 -0.58716,-0.86487 -1.96777,-0.86487 l -0.63477,0 z m -2.3407,-2.1106 2.50733,0 q 2.90405,0 4.18152,1.38855 1.27746,1.38062 1.27746,4.52271 0,3.15002 -1.27746,4.54651 -1.27747,1.38855 -4.18152,1.38855 l -2.50733,0 0,-11.84632 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.25px;font-family:monospace;-inkscape-font-specification:'monospace Bold'"
id="path3365" /><path
d="m 327.33649,453.3429 0,-2.1344 q 0.62683,0.36499 1.19812,0.53955 0.57922,0.17456 1.11084,0.17456 1.26159,0 1.92016,-0.84107 0.66651,-0.849 0.70618,-2.53112 -0.37293,0.51574 -0.95215,0.77758 -0.57922,0.25391 -1.37268,0.25391 -1.59485,0 -2.46765,-1.00769 -0.8728,-1.01563 -0.8728,-2.87232 0,-1.98364 0.97595,-3.07067 0.97595,-1.08704 2.76123,-1.08704 2.16614,0 3.14209,1.45203 0.98389,1.44409 0.98389,4.67346 0,3.07068 -1.19812,4.60998 -1.19812,1.53138 -3.59436,1.53138 -0.55542,0 -1.15052,-0.11902 -0.58716,-0.11902 -1.19018,-0.34912 z m 3.07068,-5.72083 q 0.75378,0 1.15051,-0.54749 0.40466,-0.55541 0.40466,-1.60278 0,-1.03943 -0.40466,-1.58691 -0.39673,-0.55542 -1.15051,-0.55542 -0.76172,0 -1.17432,0.55542 -0.40466,0.54748 -0.40466,1.58691 0,1.03943 0.40466,1.59485 0.4126,0.55542 1.17432,0.55542 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:16.25px;font-family:monospace;-inkscape-font-specification:'monospace Bold'"
id="path3367" /></g></g></svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -0,0 +1,5 @@
name: Bind9 Domain Name Server
description: |
Bind9 DNS server, compatible with the "DNS Update (RFC2136)"
version: v1.0.0-rancher1
category: External DNS

View File

@ -0,0 +1,13 @@
cloudflare:
image: rancher/external-dns:v0.1.9
command: -provider=cloudflare
expose:
- 1000
environment:
CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL}
CLOUDFLARE_KEY: ${CLOUDFLARE_KEY}
ROOT_DOMAIN: ${ROOT_DOMAIN}
TTL: ${TTL}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"

View File

@ -0,0 +1,36 @@
.catalog:
name: "CloudFlare DNS"
version: "v0.1.9-rancher1"
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
minimum_rancher_version: v1.2.0-pre4-rc3
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"
description: "The DNS zone (domain) managed by CloudFlare. DNS entries will be created for <service>.<stack>.<environment>.<domain>"
type: "string"
required: true
- variable: "TTL"
label: "TTL"
description: "The resource record cache time to live (TTL), in seconds (minimum 120)"
type: "int"
default: 300
required: false
cloudflare:
health_check:
port: 1000
interval: 2000
unhealthy_threshold: 3
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000

View File

@ -0,0 +1,13 @@
cloudflare:
image: rancher/external-dns:v0.2.1
command: -provider=cloudflare
expose:
- 1000
environment:
CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL}
CLOUDFLARE_KEY: ${CLOUDFLARE_KEY}
ROOT_DOMAIN: ${ROOT_DOMAIN}
TTL: ${TTL}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"

View File

@ -0,0 +1,36 @@
.catalog:
name: "CloudFlare DNS"
version: "v0.2.1-rancher1"
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
minimum_rancher_version: v1.2.0-pre4-rc3
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"
description: "The DNS zone (domain) managed by CloudFlare. DNS entries will be created for <service>.<stack>.<environment>.<domain>"
type: "string"
required: true
- variable: "TTL"
label: "TTL"
description: "The resource record cache time to live (TTL), in seconds (minimum 120)"
type: "int"
default: 300
required: false
cloudflare:
health_check:
port: 1000
interval: 2000
unhealthy_threshold: 3
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000

View File

@ -0,0 +1,13 @@
cloudflare:
image: rancher/external-dns:v0.4.0
command: -provider=cloudflare
expose:
- 1000
environment:
CLOUDFLARE_EMAIL: ${CLOUDFLARE_EMAIL}
CLOUDFLARE_KEY: ${CLOUDFLARE_KEY}
ROOT_DOMAIN: ${ROOT_DOMAIN}
TTL: ${TTL}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"

View File

@ -0,0 +1,36 @@
.catalog:
name: "CloudFlare DNS"
version: "v0.4.0-rancher1"
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
minimum_rancher_version: v1.2.0-pre4-rc3
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"
description: "The DNS zone (domain) managed by CloudFlare. DNS entries will be created for <service>.<stack>.<environment>.<domain>"
type: "string"
required: true
- variable: "TTL"
label: "TTL"
description: "The resource record cache time to live (TTL), in seconds (minimum 120)"
type: "int"
default: 300
required: false
cloudflare:
health_check:
port: 1000
interval: 2000
unhealthy_threshold: 3
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000

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,47 @@
.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-rc3
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

View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 505.9 116" style="enable-background:new 0 0 505.9 116;" xml:space="preserve">
<style type="text/css">
.st0{fill:#414042;}
.st1{fill:url(#SVGID_1_);}
.st2{fill:#F68B1F;}
.st3{fill:url(#SVGID_2_);}
.st4{fill:url(#SVGID_3_);}
.st5{fill:url(#SVGID_4_);}
.st6{fill:url(#SVGID_5_);}
.st7{fill:url(#SVGID_6_);}
.st8{fill:url(#SVGID_7_);}
</style>
<g>
<g>
<path class="st0" d="M411.3,52.8h-9l-8.8,15.9h-11.8V52.8h-6.1v19h22.5l2-3.6h13.7l2.1,3.6h6.2L411.3,52.8z M401.5,65.5l5.4-9.9
h0.1l5.5,9.9H401.5z"/>
<path class="st0" d="M441,65.5c4.7-0.5,6.5-2,6.5-6.1c0-5.3-2.8-6.6-11.3-6.6h-14v19h6.1V55.9h8c4.6,0,5.2,0.7,5.2,3.4
c0,2.6-0.8,3.1-4.8,3.2h-6.9l11,9.3h7.7L441,65.5z"/>
<path class="st0" d="M456.5,60.7h14.9v3h-14.9v5.1h15.8v3.1h-21.9v-19h21.8V56h-15.7L456.5,60.7L456.5,60.7z"/>
</g>
<g>
<path class="st0" d="M236.5,68.3h-11.6c-4.7,0-6.2-2.5-6.2-5v-5.2c0-3.6,2-4.6,7.3-4.6h9l0,0h3.3v-3.6H226
c-10.1,0-14.4,2.2-14.4,8.1v5.2c0,4.6,2.1,8.6,13.2,8.6h13.6v-3.6L236.5,68.3L236.5,68.3z"/>
</g>
<g>
<path class="st0" d="M246.8,68.7h14.8v3.1h-20.9v-19h6.1L246.8,68.7L246.8,68.7z"/>
</g>
<g>
<path class="st0" d="M288.3,59.6v5.1c0,6.1-3.9,7.3-13.5,7.3c-9.8,0-13.4-1-13.4-7.3v-5.1c0-5.9,3.3-7,13.4-7
C283.9,52.6,288.3,53.5,288.3,59.6z M267.5,59.6v5.1c0,3.8,1.2,4.1,7.3,4.1c5.5,0,7.4-0.5,7.4-4.1v-5.1c0.1-3.6-2-3.8-7.4-3.8
C268.2,55.7,267.6,56.6,267.5,59.6z"/>
</g>
<g>
<path class="st0" d="M317,52.8v13.5c0,5.3-5.5,5.7-13.2,5.7c-7.4,0-13.2-0.3-13.2-5.7V52.8h6.1v13.5c0,2,1.2,2.5,7.1,2.5
c5.6,0,7.2-0.5,7.2-2.5V52.8H317z"/>
</g>
<g>
<path class="st0" d="M320.2,52.8h15.2c8.8,0,12.5,1.9,12.5,7.1v4.5c0,4-1.9,7.5-11.5,7.5h-16.2V52.8z M336.4,68.7
c4.1,0,5.4-2.2,5.4-4.3v-4.5c0-3.2-1.7-4-6.4-4h-9.1v12.8H336.4z"/>
</g>
<g>
<path class="st0" d="M357,59.5h16v3.4h-16v8.9h-6.9V50.2h23.8v3.5H357V59.5z"/>
</g>
<path class="st0" d="M477.1,52.5c0.9,0,1.6,0.7,1.6,1.6s-0.7,1.6-1.6,1.6s-1.6-0.7-1.6-1.6S476.2,52.5,477.1,52.5z M477.1,55.4
c0.7,0,1.2-0.6,1.2-1.3s-0.5-1.3-1.2-1.3s-1.2,0.6-1.2,1.3C475.9,54.8,476.4,55.4,477.1,55.4z M476.5,53.2h0.6
c0.4,0,0.8,0.1,0.8,0.5c0,0.3-0.2,0.5-0.4,0.5l0.4,0.7h-0.5l-0.4-0.7h-0.1v0.7h-0.4V53.2z M476.9,53.9h0.2c0.1,0,0.3,0,0.3-0.2
s-0.2-0.2-0.3-0.2h-0.2V53.9z"/>
<radialGradient id="SVGID_1_" cx="162.9412" cy="-122.7475" r="32.463" fx="162.1466" fy="-121.0777" gradientTransform="matrix(1 0 0 -1 0 -60)" gradientUnits="userSpaceOnUse">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="0.1902" style="stop-color:#FCE800"/>
<stop offset="0.8593" style="stop-color:#EC8F27"/>
</radialGradient>
<polygon class="st1" points="160.2,42 164.1,28.5 164.6,28.6 165,42.7 172.3,30.8 172.9,31.1 169.5,44.7 179.8,35 180.3,35.4
173.4,47.7 185.8,41.1 186.2,41.6 176.4,51.7 190.1,48.6 190.4,49.2 178.2,56.3 192.3,56.8 192.3,57.4 178.8,61.2 192.3,65.2
192.3,65.8 178.1,66 190.1,73.5 189.8,74.1 176.2,70.7 185.8,80.9 185.4,81.5 173.2,74.5 179.8,86.8 179.2,87.3 169.1,77.4
172.4,91 171.8,91.4 164.6,79.3 164.4,93.3 163.8,93.4 159.8,79.9 155.8,93.4 155.1,93.3 155.1,79.3 154.7,79.1 146.9,90.8
150.3,77.3 140,86.9 139.4,86.4 146.4,74.2 133.9,80.7 133.5,80.2 143.3,70.3 129.5,73.3 129.4,72.8 141.6,65.6 127.6,65.1
127.4,64.5 140.9,60.7 127.5,56.7 127.6,56.1 141.7,55.8 129.8,48.6 129.9,48 143.6,51.4 133.9,41.1 134.4,40.6 146.7,47.3
140,35.1 140.4,34.6 150.7,44.5 147.4,30.8 147.2,30.5 155.4,42.7 155.6,28.5 156.4,28.5 "/>
<path class="st2" d="M198.3,87.5c0-13.5-10.9-24.4-24.4-24.4c-5.4,0-10.5,1.8-14.5,4.8c0.5-2.6,0.8-5.2,0.8-7.9
c0-22.5-18.2-40.7-40.7-40.7c-17.9,0-33.1,11.5-38.5,27.6c-3.1-2.3-6.9-3.7-11-3.7c-10.1,0-18.3,8.2-18.3,18.3
c0,1.6,0.2,3.1,0.6,4.5c-14,0.4-25.2,11.9-25.2,26c0,1.6,0.2,3.2,0.4,4.8h169C197.8,94,198.3,90.8,198.3,87.5z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="119.6" y1="-111.4809" x2="119.6" y2="-79.6399" gradientTransform="matrix(1 0 0 -1 0 -60)">
<stop offset="0" style="stop-color:#F68B1F"/>
<stop offset="1" style="stop-color:#FFFFFF"/>
</linearGradient>
<path class="st3" d="M155.4,60c0,19.8-16.1,32.3-35.9,32.3S83.7,79.8,83.7,60s16.1-35.9,35.9-35.9S155.4,40.2,155.4,60"/>
<path class="st2" d="M149.9,60.2c0,12.1-13.7,21.9-30.6,21.9s-30.6-9.8-30.6-21.9c0-12.1,13.7-21.9,30.6-21.9
S149.9,48.1,149.9,60.2"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="79.1347" y1="-59.4381" x2="89.26" y2="-69.5634" gradientTransform="matrix(0.9642 0.2653 0.2653 -0.9642 2.4232 -29.5861)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="4.820810e-02" style="stop-color:#FEF6ED"/>
<stop offset="0.2569" style="stop-color:#FBD0A5"/>
<stop offset="0.4442" style="stop-color:#F9B26B"/>
<stop offset="0.6034" style="stop-color:#F79D42"/>
<stop offset="0.7282" style="stop-color:#F69028"/>
<stop offset="0.8033" style="stop-color:#F68B1F"/>
</linearGradient>
<circle class="st4" cx="70.2" cy="61.6" r="13.5"/>
<path class="st2" d="M81.2,56.5c2.3,4-0.6,9.9-6.4,13.3c-5.8,3.4-12.4,2.9-14.7-1.1s0.6-9.9,6.4-13.3C72.3,52,78.9,52.5,81.2,56.5"
/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="29.0499" y1="-111.8834" x2="67.3462" y2="-170.8475" gradientTransform="matrix(1 0 0 -1 0 -60)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="4.820810e-02" style="stop-color:#FEF6ED"/>
<stop offset="0.2569" style="stop-color:#FBD0A5"/>
<stop offset="0.4442" style="stop-color:#F9B26B"/>
<stop offset="0.6034" style="stop-color:#F79D42"/>
<stop offset="0.7282" style="stop-color:#F69028"/>
<stop offset="0.8033" style="stop-color:#F68B1F"/>
</linearGradient>
<path class="st5" d="M74.4,92c0-11.8-9.6-21.4-21.4-21.4S31.6,80.2,31.6,92v0.1L74.4,92C74.4,92.1,74.4,92.1,74.4,92z"/>
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="181.0524" y1="-126.7036" x2="175.1763" y2="-143.9265" gradientTransform="matrix(1 0 0 -1 0 -60)">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="4.820810e-02" style="stop-color:#FEF6ED"/>
<stop offset="0.2569" style="stop-color:#FBD0A5"/>
<stop offset="0.4442" style="stop-color:#F9B26B"/>
<stop offset="0.6034" style="stop-color:#F79D42"/>
<stop offset="0.7282" style="stop-color:#F69028"/>
<stop offset="0.8033" style="stop-color:#F68B1F"/>
</linearGradient>
<path class="st6" d="M193.6,87.3c0-10.8-8.7-19.5-19.5-19.5c-10.8,0-19.5,8.7-19.5,19.5c0,1.5,0.2,3,0.5,4.4H193
C193.4,90.3,193.6,88.8,193.6,87.3z"/>
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="113.15" y1="-134.5959" x2="113.15" y2="-153.4168" gradientTransform="matrix(1 0 0 -1 0 -60)">
<stop offset="0" style="stop-color:#F68B1F"/>
<stop offset="0.5308" style="stop-color:#CB672F"/>
<stop offset="1" style="stop-color:#A1453F"/>
</linearGradient>
<polygon class="st7" points="194.4,92.4 193.8,90.9 192.9,89.6 191.8,87.8 190.8,86.4 189.3,84.7 187.9,83.2 186.3,81.7
184.8,80.4 183.1,79.2 181.4,78.2 179.6,77.1 178,76.3 176.4,75.7 174.9,75.3 173.5,74.9 172,74.7 170.3,74.5 60,74.8 58.2,74.9
56.5,74.9 54.5,75.2 52.9,75.5 50.8,76 49.4,76.5 47.9,77 46.3,77.6 44.4,78.6 43,79.3 41.1,80.5 39.4,81.8 37.7,83.2 36.2,84.7
34.9,86.2 33.7,87.9 32.7,89.6 32,91 31.6,92.4 31.3,93.5 194.9,93.5 "/>
<radialGradient id="SVGID_7_" cx="135.6859" cy="-132.4141" r="43.4509" fx="162.6389" fy="-140.2917" gradientTransform="matrix(1 0 0 -1 0 -60)" gradientUnits="userSpaceOnUse">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="0.1334" style="stop-color:#FCE800"/>
<stop offset="0.8593" style="stop-color:#EC8F27"/>
</radialGradient>
<polygon class="st8" points="162.6,64.7 177.4,84 176.8,84.4 159.6,68.9 93.3,81 93.3,80.3 154.8,66.2 121,54.6 121.4,54.1 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

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

View File

@ -0,0 +1,13 @@
dnsimple:
image: rancher/external-dns:v0.1.9
command: --provider dnsimple
expose:
- 1000
environment:
DNSIMPLE_TOKEN: ${DNSIMPLE_TOKEN}
DNSIMPLE_EMAIL: ${DNSIMPLE_EMAIL}
ROOT_DOMAIN: ${ROOT_DOMAIN}
TTL: ${TTL}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"

View File

@ -0,0 +1,36 @@
.catalog:
name: "DNSimple DNS"
version: "v0.1.9-rancher1"
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version 0.44.0"
minimum_rancher_version: v1.2.0-pre4-rc3
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: "DNS entries will be created for <service>.<stack>.<environment>.<root domain>"
type: "string"
required: true
- variable: "TTL"
label: "TTL"
description: "The resource record cache time to live (TTL), in seconds"
type: "int"
default: 300
required: false
dnsimple:
health_check:
port: 1000
interval: 2000
unhealthy_threshold: 3
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000

View File

@ -0,0 +1,13 @@
dnsimple:
image: rancher/external-dns:v0.2.1
command: --provider dnsimple
expose:
- 1000
environment:
DNSIMPLE_TOKEN: ${DNSIMPLE_TOKEN}
DNSIMPLE_EMAIL: ${DNSIMPLE_EMAIL}
ROOT_DOMAIN: ${ROOT_DOMAIN}
TTL: ${TTL}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"

View File

@ -0,0 +1,36 @@
.catalog:
name: "DNSimple DNS"
version: "v0.2.1-rancher1"
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version 0.44.0"
minimum_rancher_version: v1.2.0-pre4-rc3
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: "DNS entries will be created for <service>.<stack>.<environment>.<root domain>"
type: "string"
required: true
- variable: "TTL"
label: "TTL"
description: "The resource record cache time to live (TTL), in seconds"
type: "int"
default: 300
required: false
dnsimple:
health_check:
port: 1000
interval: 2000
unhealthy_threshold: 3
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000

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.2.0-pre4-rc3
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

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-106 195.9 505.9 331.1" style="enable-background:new -106 195.9 505.9 331.1;" xml:space="preserve">
<style type="text/css">
.st0{fill:#3D3D3D;}
.st1{fill:#0D5E8C;}
.st2{fill:#0071BC;}
.st3{fill:#E6E6E6;}
.st4{fill:#F7C94A;}
.st5{fill:#313131;}
.st6{fill:#414042;}
.st7{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);}
.st8{fill:#F68B1F;}
.st9{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_2_);}
.st10{fill-rule:evenodd;clip-rule:evenodd;fill:#F68B1F;}
.st11{fill:url(#SVGID_3_);}
.st12{fill:url(#SVGID_4_);}
.st13{fill:url(#SVGID_5_);}
.st14{fill:url(#SVGID_6_);}
.st15{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_7_);}
</style>
<g>
<g>
<path class="st0" d="M35.3,285.6l7.2-7.8c3.4-3.7,7.6-4.6,11.1-1.3c2.8,2.6,2.8,6.2,1.6,8.6c1-0.1,2,0.1,3,0.3
c2.3,0.7,4.6,1.8,6.1,0.1c0.4-0.4,0.6-0.9,0.6-0.9l3,3.5c0,0-0.7,1.2-1.5,2.1c-2.1,2.3-4.2,2.7-8.4,1.3c-1.9-0.7-5-2.1-5.9-1
l-1,1.1l7.5,7l-4.3,4.7L35.3,285.6z M43.1,284l4.7,4.3l1.6-1.7c1.2-1.4,2.3-3.3,0.3-5.2c-1.7-1.5-3.2-1-4.4,0.3L43.1,284z"/>
<path class="st0" d="M58.5,263l5.2-3.9l22.7,15.3l-5.2,3.9l-4.3-2.9l-6.9,5.3l1.7,4.9l-4.5,3.4L58.5,263z M68.3,275.9l4.4-3.4
l-4.7-3.3c-1.6-1.1-3.4-3-3.4-3l-0.1,0.1c0,0,1.3,2.3,1.9,4.1L68.3,275.9z"/>
<path class="st0" d="M74.9,251.2l6.1-3.1l11.9,8.4c1,0.7,2.6,2.1,3.8,3.2l0.1-0.1c-0.7-1.3-1.8-3-2.5-4.4l-5.6-11.1l4.7-2.4
l11.8,23.2l-6,3l-12.1-8.2c-1.1-0.7-2.5-1.9-3.6-2.9l-0.1,0.1c0.8,1.2,1.7,2.7,2.4,4l5.6,11.1l-4.7,2.4L74.9,251.2z"/>
<path class="st0" d="M102.8,251.8c-2.7-9,0.7-14,7.6-16.1c7.3-2.1,11.3,1,12.1,6.6l-5.6,2.2c-0.5-4.1-2.6-5.3-5.3-4.4
c-2.7,0.8-4.3,3.4-2.4,9.8c2,6.8,4.9,7.8,7.6,7c2.5-0.7,4.1-2.9,2.7-6.1l5.5-1c1.9,4.9-0.7,9.7-7.3,11.7
C111,263.5,105.5,260.8,102.8,251.8z"/>
<path class="st0" d="M126.1,232.2l6.4-0.7l1,9.7l7.8-0.8l-1-9.7l6.4-0.7l2.7,25.8l-6.4,0.7l-1.1-10.9l-7.8,0.8l1.1,10.9l-6.4,0.7
L126.1,232.2z"/>
<path class="st0" d="M153.7,230.1l17.1,1.1l-0.3,4.8l-10.7-0.7l-0.4,5.6l9,0.6l-0.3,4.8l-9-0.6l-0.4,6.1l11.1,0.7l-0.3,4.8
L152,256L153.7,230.1z"/>
<path class="st0" d="M176.8,232.1l10.4,2.4c4.9,1.1,7.7,4.3,6.6,8.9c-0.9,3.8-4,5.5-6.7,5.7c0.6,0.8,1,1.8,1.2,2.8
c0.6,2.4,0.7,4.9,2.9,5.4c0.6,0.1,1.1,0,1.1,0l-1.5,4.3c0,0-1.4,0-2.6-0.2c-3-0.7-4.4-2.3-5.3-6.7c-0.3-2-0.6-5.4-2-5.7l-1.4-0.3
l-2.3,10l-6.2-1.5L176.8,232.1z M182,238l-1.4,6.2l2.2,0.5c1.8,0.4,4,0.3,4.6-2.4c0.5-2.2-0.7-3.3-2.5-3.7L182,238z"/>
<path class="st0" d="M208.8,241.1l8.9,4.4c5.8,2.8,8.6,8.4,4.6,16.6c-3.9,8-10,9.7-16,6.7l-8.9-4.4L208.8,241.1z M207.8,264.3
c2.6,1.2,5.8,0.9,8.7-5.1c2.9-6,1.2-8.5-1.4-9.8l-2.6-1.3l-7.3,14.9L207.8,264.3z"/>
<path class="st0" d="M233.2,253.8l5.5,4.1l-2.2,14.4c-0.2,1.2-0.8,3.3-1.2,4.9l0.1,0.1c0.8-1.2,1.9-3,2.8-4.2l7.4-10l4.2,3.1
L234.3,287l-5.4-4l2-14.5c0.2-1.3,0.6-3.1,1-4.5l-0.1-0.1c-0.8,1.2-1.7,2.7-2.5,3.9l-7.4,10l-4.2-3.1L233.2,253.8z"/>
<path class="st0" d="M245.4,286.1c-1.8,1.1-3,3.3-0.2,6.3c1.8,2,3.3,1.9,4.3,0.9c1.6-1.5,0.5-3.4-0.6-5.9
c-1.7-3.7-3.5-8.3,0.4-12.1c3.5-3.3,8.2-2.6,12.5,2.1c5.2,5.7,3.4,10.5-0.1,12.6l-4.4-3.9c2.4-1.8,2.9-3.7,0.8-5.9
c-1.4-1.5-2.7-1.8-3.9-0.7c-1.6,1.5-0.6,3.4,0.5,5.9c1.7,3.7,3.8,8.2-0.1,11.9c-3.4,3.2-8.2,3-12.8-1.9c-4.3-4.6-5.2-9.8-0.6-12.9
L245.4,286.1z"/>
</g>
</g>
<g>
<g>
<g>
<path class="st1" d="M191,321.6l-2.2-13.7c-0.7-4.3-2.2-8-3.6-8s-2.3,3.5-2.3,7.8v3.5c0,4.4-3.9,8.6-8.3,8.6h-3.5
c-0.3,0-0.2-0.6-0.2-0.6v9.7c0,0,0,0.9,0.2,0.9h13.2C188.8,329.9,191.7,325.9,191,321.6z"/>
</g>
</g>
<g>
<path class="st1" d="M113,321.6l2.2-13.7c0.7-4.3,2.7-8,4-8s2.7,3.5,2.7,7.8v3.5c0,4.4,3.1,8.6,7.4,8.6h3.5c0.3,0,1-0.6,1-0.6v9.7
c0,0-0.8,0.9-1,0.9h-13.2C115.3,329.9,112.3,325.9,113,321.6z"/>
</g>
<path class="st2" d="M171.6,362.9c0,2.8-2.2,5-5,5h-28c-2.8,0-5-2.2-5-5v-48c0-2.8,2.2-5,5-5h28c2.8,0,5,2.2,5,5V362.9z"/>
</g>
<g>
<path class="st3" d="M326.7,380.9c-1.3-95.1-79.1-172-174.5-172c-93.9,0-170.7,74.6-174.4,167.6c1.8,0.8,3.4,2.3,4.5,4.3
c1.5,2.7,1.5,5.5,1.5,7.4c0,0.9,0,1.8,0,2.7h315.7c0-1.4,0-2.7,0-4.1c0-2.5,0.5-4.4,1.4-5.9h-33.7c-1.3-62.3-52.4-112.5-115-112.5
s-113.6,50.2-115,112.5h-49.5c1.3-89.6,74.6-162,164.5-162c89,0,161.7,71.1,164.4,159.4c2.2,2.1,3.4,4.9,3.4,8.8c0,1.3,0,2.5,0,3.8
h67.9v-10H326.7z M152.2,278.4c57.1,0,103.6,45.8,105,102.5H47.2C48.6,324.2,95.1,278.4,152.2,278.4z"/>
<path class="st3" d="M-36.5,387.9c0-1.3,0.1-2.9,0.4-4.5c0.2-0.9,0.5-1.7,0.9-2.5h-48.9v10h47.6C-36.5,389.9-36.5,388.9-36.5,387.9
z"/>
</g>
<path class="st4" d="M231.4,457.7c0,3.7,0,7.4,0,11.1c0,4.4-2.3,7-6,7c-3.5,0-5.8-2.7-5.8-6.9c0-6.9,0.1-13.7,0-20.6
c-0.2-7.8-5.9-14.1-13.3-14.9c-7.7-0.8-14.7,4.1-16.4,11.8c-0.6,2.7-0.3,5.5-0.3,8.3c0,5.1,0,10.3,0,15.4c0,4.2-2.3,6.8-5.8,6.9
c-3.4,0.1-6.1-2.5-6.2-6.6c-0.1-6.8,0-13.5-0.1-20.3c-0.1-9.5-6.8-16-16-15.5c-7.3,0.4-13.6,6.6-13.8,14c-0.2,7.2,0,14.4-0.1,21.5
c-0.1,5.4-4.6,8.4-8.9,6.1c-1.9-1-3.1-2.7-3.1-4.7c0.1-8.8-0.9-17.7,0.5-26.4c1.7-10.5,7.9-17.7,18-21.1c10.1-3.3,19.3-1.3,27,6.1
c2.1,1.9,2.9,1.8,5,0c8.6-7.9,18.7-9.7,29.3-5.1c10.3,4.5,15.7,12.8,16.1,24.1C231.5,451.1,231.4,454.4,231.4,457.7L231.4,457.7z"/>
<path class="st5" d="M-20.5,419.2c0,10,0,20.1,0,30.1c0,13.9-11.4,26.1-24.9,26.9c-14.7,0.8-27.2-9.2-28.8-23.6
c-1.2-10,2.2-18.5,10.3-24.6c8.4-6.3,17.8-7.5,27.6-3.2c3.6,1.6,4,1.4,4-2.6c0-11.5,0-23,0-34.4c0-1.2,0-2.5,0.3-3.7
c0.6-2.7,2.5-4,5-4.3c2.4-0.3,4.4,0.7,5.6,2.9c0.9,1.7,1,3.5,1,5.4C-20.5,398.5-20.5,408.9-20.5,419.2z M-62.4,449.2
c0,8.4,6.4,15.1,14.6,15.1c8.3,0,15.3-6.8,15.3-15c0-8.1-6.8-14.9-14.9-14.9C-55.9,434.5-62.3,440.9-62.4,449.2z"/>
<path class="st4" d="M240.6,478.8c0-10.1,0-20.3,0-30.4c0.1-14.5,10.1-25.7,24.9-27.1c12.5-1.2,25.1,6.8,28.3,21
c2.4,10.7-0.9,20-9.5,26.9c-8.7,6.9-18.4,7.8-28.6,3.2c-3.3-1.5-3.3-1.6-3.3,2.2c0,12.3,0,24.6,0,36.9c0,2.6-1,4.6-3.4,5.7
c-2.3,1-4.4,0.7-6.3-0.8c-1.7-1.3-2.1-3.1-2.1-5.2C240.6,500.4,240.6,489.6,240.6,478.8z M267.5,463.1c8.5,0,15-6.4,15.1-14.8
c0-8.5-6.5-15-14.9-15c-8.3,0-15.1,6.6-15.2,14.8C252.4,456.3,259.2,463.1,267.5,463.1z"/>
<path class="st4" d="M338.2,454.9c2,5.3,6.8,8.7,13,8.8c6,0.1,12.1,0,18.1,0c0.9,0,1.9,0,2.8,0c4.1,0.4,6.5,2.9,6.3,6.4
c-0.2,3.4-2.7,5.7-6.8,5.6c-8.4-0.2-16.8,0.8-25.2-0.5c-12.7-2.1-22.3-13.9-22.1-26.5c0.2-13.5,10.1-24.8,23.2-26.5
c16.2-2.2,30.8,10,30.8,25.8c0,4.5-2.3,6.8-6.8,6.9c-10.1,0-20.3,0-30.4,0C340.3,454.9,339.3,454.9,338.2,454.9z M351.1,443
L351.1,443c4,0,8,0,11.9,0.1c1.7,0,2.4-0.5,1.3-2.1c-3.1-4.6-7.2-7.1-12.8-7c-5.6,0-9.7,2.5-12.8,7.1c-1.2,1.8-0.2,2,1.3,1.9
C343.7,442.9,347.4,443,351.1,443z"/>
<path class="st5" d="M42.3,458c0,3.8,0,7.6,0,11.4c0,4.1-2.2,6.7-5.5,6.8c-3.5,0.1-6.2-2.5-6.3-6.5c-0.2-6.7-0.1-13.3-0.1-20
c0-9.2-6.2-15.7-14.9-15.8c-8.4-0.1-15,6.7-15,15.8c-0.1,6.8,0,13.5-0.1,20.3c-0.1,3.2-2,5.5-4.7,6.1c-2.9,0.6-5-0.7-6.4-3.1
c-0.7-1.1-0.8-2.3-0.8-3.6c0-7.4-0.1-14.8,0-22.1c0.2-10,7.8-20,17.5-23.6c10.1-3.8,21.4-1.1,28.8,6.7c5,5.2,7.6,11.3,7.4,18.6
C42.2,451.9,42.3,455,42.3,458z"/>
<path class="st4" d="M303.5,427.7c0-13.6,0-27.3,0-40.9c0-2.6,0.8-4.8,3.2-6.2c2.1-1.1,4.1-1,6.1,0.3c2.2,1.4,2.8,3.6,2.8,6.1
c0,10.6,0,21.1,0,31.7c0,16.6,0,33.2,0,49.8c0,3.1-0.8,5.7-3.9,6.9c-4.1,1.7-8.1-1.3-8.2-6.2c-0.1-7.6,0-15.2,0-22.7
C303.5,440.2,303.5,433.9,303.5,427.7z"/>
<path class="st4" d="M58.6,475.8c-4.2,0.1-6.8-2-7-5.6c-0.2-3.7,2-6,6.2-6.5c9.6-1.2,14.5-6.5,14.8-16.3
c0.4-13.7,12.5-25.5,26.1-25.6c3.8,0,6.5,2.3,6.6,5.7c0.1,3.6-2.2,6.1-6,6.4c-9.3,0.8-14.7,6.4-15,15.9
C83.9,463.8,72.4,475.5,58.6,475.8z"/>
<path class="st4" d="M114.5,448.9c0-6.7,0-13.3,0-20c0-4.2,2.6-7.1,6.1-7.1c3.4,0,6,2.7,6,6.8c0.1,13.4,0.1,26.9,0,40.3
c0,4.3-2.7,7-6.3,6.9s-5.8-2.8-5.8-7.3C114.4,462,114.5,455.4,114.5,448.9z"/>
<path class="st4" d="M120.6,416.7c-3.2,0-6.1-2.8-6.1-6c0-3.2,2.9-6.1,6.1-6c3.2,0,6,3,6,6.2C126.5,413.9,123.6,416.7,120.6,416.7z"
/>
</svg>

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

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

View File

@ -0,0 +1,17 @@
rfc2136dns:
image: rancher/external-dns:v0.5.0
expose:
- 1000
command:
- -provider
- rfc2136
environment:
RFC2136_HOST: ${RFC2136_HOST}
RFC2136_PORT: ${RFC2136_PORT}
RFC2136_TSIG_KEYNAME: ${RFC2136_TSIG_KEYNAME}
RFC2136_TSIG_SECRET: ${RFC2136_TSIG_SECRET}
ROOT_DOMAIN: ${ROOT_DOMAIN}
TTL: ${TTL}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"

View File

@ -0,0 +1,47 @@
.catalog:
name: "DNS Update (RFC2136)"
version: "v0.5.0-rancher1"
description: "Rancher External DNS service powered by any RFC2136 compatible DNS"
minimum_rancher_version: v1.2.0-pre4-rc3
questions:
- variable: "RFC2136_HOST"
label: "Domain Name Server IP"
description: "Server IP or Hostname"
type: "string"
required: true
- variable: "RFC2136_PORT"
label: "Domain Name Server Port"
description: "Server port"
type: "string"
required: true
default: "53"
- variable: "RFC2136_TSIG_KEYNAME"
label: "TSIG Key Name"
description: "Name of the key used for TSIG"
type: "string"
required: true
- variable: "RFC2136_TSIG_SECRET"
label: "TSIG Key"
description: "Value of the key used for TSIG, base64 encoded"
type: "string"
required: true
- variable: "TTL"
label: "TTL"
description: "The resource record cache time to live (TTL), in seconds"
type: "int"
default: 299
required: false
- variable: "ROOT_DOMAIN"
label: "Hosted zone name"
description: "DNS hosted zone name (zone has to be pre-created). DNS entries will be created for <service>.<stack>.<environment>.<hosted zone>"
type: "string"
required: true
rfc2136dns:
health_check:
port: 1000
interval: 2000
unhealthy_threshold: 3
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000

View File

@ -0,0 +1,36 @@
## DNS Update (RFC2136)
Rancher External DNS service powered by any RFC2136 compatible DNS server
#### 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 the DNS server allows in DNS names.

View File

@ -0,0 +1,16 @@
rfc2136dns:
image: rancher/external-dns:v0.6.0
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}
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,56 @@
.catalog:
name: "DNS Update (RFC2136)"
version: "v0.6.0-rancher1"
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-rc3
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_TSIG_KEYNAME"
label: "TSIG Key Name"
description: "Name of the TSIG key"
type: "string"
required: true
- variable: "RFC2136_TSIG_SECRET"
label: "TSIG Key"
description: "TSIG secret key (HMAC-MD5, base64 encoded)"
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: "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

View File

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Calque_1"
x="0px"
y="0px"
width="128"
height="128"
viewBox="0 0 127.99999 128"
enable-background="new 0 0 595.28 841.89"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="DNS.svg"><metadata
id="metadata51"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs49" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1451"
inkscape:window-height="954"
id="namedview47"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.28032165"
inkscape:cx="70.649676"
inkscape:cy="63.929993"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="Calque_1" /><circle
cx="64"
cy="64"
r="64"
id="circle3"
style="fill:#7bb6dc" /><circle
cx="64"
cy="62"
r="38"
id="circle5"
style="fill:#256f9a" /><path
d="m 104.293,77 -1.817,0 C 104.105,72.641 105,67.926 105,63 105,40.908 87.09,23 65,23 42.908,23 25,40.908 25,63 c 0,16.786 10.343,31.147 25,37.081 l 0,4.189 c 0,0.955 0.765,1.73 1.707,1.73 l 52.586,0 c 0.942,0 1.707,-0.775 1.707,-1.73 l 0,-25.541 C 106,77.773 105.235,77 104.293,77 Z"
id="path7"
inkscape:connector-curvature="0"
style="opacity:0.25;fill:#010202" /><path
d="m 64,22 c -22.092,0 -40,17.908 -40,40 0,22.09 17.908,40 40,40 22.09,0 40,-17.91 40,-40 C 104,39.908 86.09,22 64,22 Z m 0,76 C 44.117,98 28,81.881 28,62 28,42.117 44.117,26 64,26 c 19.881,0 36,16.117 36,36 0,19.881 -16.119,36 -36,36 z"
id="path9"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><path
stroke-miterlimit="10"
d="m 32,45 c 6,-4 21.852,-4.389 33,-2 14,3 34,13 36,24"
id="path11"
inkscape:connector-curvature="0"
style="fill:none;stroke:#ffffff;stroke-width:3;stroke-miterlimit:10" /><path
stroke-miterlimit="10"
d="M 92,85 C 85.242,87.518 64.815,82.799 55,77 33,64 24,48 24,42 c 0,-3 7,-2 7,-2"
id="path13"
inkscape:connector-curvature="0"
style="fill:none;stroke:#ffffff;stroke-width:3;stroke-miterlimit:10" /><path
stroke-miterlimit="10"
d="M 97.597,46.563 C 97.758,52.065 88,76 79,85 71.272,92.727 64,98 61,99"
id="path15"
inkscape:connector-curvature="0"
style="fill:none;stroke:#ffffff;stroke-width:3;stroke-miterlimit:10" /><path
stroke-miterlimit="10"
d="m 94,39 c 0,0 3.452,-6.534 0,-9 C 87,25 62,41 49.812,54.414 42.145,62.852 33,91.001 37,97.001 c 1.24,1.859 4,-2 4,-2"
id="path17"
inkscape:connector-curvature="0"
style="fill:none;stroke:#ffffff;stroke-width:3;stroke-miterlimit:10" /><circle
cx="62.5"
cy="42.5"
r="5.5"
id="circle19"
style="fill:#ffffff" /><circle
cx="41.5"
cy="68.5"
r="5.5"
id="circle21"
style="fill:#ffffff" /><circle
cx="93.5"
cy="57.5"
r="5.5"
id="circle23"
style="fill:#ffffff" /><g
id="g25"
transform="translate(-234.125,-356.875)"><path
d="m 339.125,460.145 c 0,0.955 -0.765,1.73 -1.707,1.73 l -52.586,0 c -0.942,0 -1.707,-0.775 -1.707,-1.73 l 0,-25.541 c 0,-0.955 0.765,-1.729 1.707,-1.729 l 52.586,0 c 0.942,0 1.707,0.773 1.707,1.729 l 0,25.541 z"
id="path27"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><rect
x="286.125"
y="435.875"
width="50"
height="23"
id="rect29"
style="fill:#f6a356" /><polygon
points="306.125,440.875 306.125,455.875 310.125,455.875 310.125,446.875 315.125,455.875 319.125,455.875 319.125,440.875 315.125,440.875 315.125,449.875 310.125,440.875 "
id="polygon31"
style="opacity:0.25;fill:#231f20" /><polygon
points="305.125,439.875 305.125,454.875 309.125,454.875 309.125,445.875 314.125,454.875 318.125,454.875 318.125,439.875 314.125,439.875 314.125,448.875 309.125,439.875 "
id="polygon33"
style="fill:#ffffff" /><path
d="m 297.125,440.875 c -1.131,0 -0.162,0 -1,0 l -2,0 -2,0 0,15 2,0 2,0 c 0.884,0 -0.043,0 1,0 4,0 7,-2 7,-6 l 0,-3 c 0,-4 -3,-6 -7,-6 z m 3,10.203 -0.04,0.199 c -0.188,0.926 -1.013,1.598 -1.96,1.598 l -2,0 0,-1.797 0,-5.203 0,-2 2,0 c 1.103,0 2,0.896 2,2 l 0,5.203 z"
id="path35"
inkscape:connector-curvature="0"
style="opacity:0.25;fill:#231f20" /><path
d="m 296.125,439.875 c -1.131,0 -0.162,0 -1,0 l -2,0 -2,0 0,15 2,0 2,0 c 0.884,0 -0.043,0 1,0 4,0 7,-2 7,-6 l 0,-3 c 0,-4 -3,-6 -7,-6 z m 3,10.203 -0.04,0.199 c -0.188,0.926 -1.013,1.598 -1.96,1.598 l -2,0 0,-1.797 0,-5.203 0,-2 2,0 c 1.103,0 2,0.896 2,2 l 0,5.203 z"
id="path37"
inkscape:connector-curvature="0"
style="fill:#ffffff" /><g
id="g39"
style="opacity:0.25"><path
d="m 322.125,451.875 c 0.952,0.453 2.243,0.875 3.792,0.875 1.666,0 1.979,-0.381 1.979,-1.334 0,-0.908 -0.222,-1.248 -2.15,-1.854 -2.668,-0.865 -4.62,-2.205 -4.62,-4.324 0,-2.484 2.501,-4.363 6.262,-4.363 1.834,0 3.784,0.59 4.738,1 l -0.811,2.912 c -0.618,-0.281 -2.428,-0.961 -3.975,-0.961 -1.572,0 -2.11,0.48 -2.11,1.215 0,0.93 0.658,1.258 2.753,1.971 2.834,0.951 4.143,2.291 4.143,4.344 0,2.443 -2.047,4.52 -6.452,4.52 -1.834,0 -3.643,-0.547 -4.548,-1 l 0.999,-3.001 z"
id="path41"
inkscape:connector-curvature="0"
style="fill:#231f20" /></g><g
id="g43"><path
d="m 321.125,450.875 c 0.952,0.453 2.243,0.875 3.792,0.875 1.666,0 1.979,-0.381 1.979,-1.334 0,-0.908 -0.222,-1.248 -2.15,-1.854 -2.668,-0.865 -4.62,-2.205 -4.62,-4.324 0,-2.484 2.501,-4.363 6.262,-4.363 1.834,0 3.784,0.59 4.738,1 l -0.811,2.912 c -0.618,-0.281 -2.428,-0.961 -3.975,-0.961 -1.572,0 -2.11,0.48 -2.11,1.215 0,0.93 0.658,1.258 2.753,1.971 2.834,0.951 4.143,2.291 4.143,4.344 0,2.443 -2.047,4.52 -6.452,4.52 -1.834,0 -3.643,-0.547 -4.548,-1 l 0.999,-3.001 z"
id="path45"
inkscape:connector-curvature="0"
style="fill:#ffffff" /></g></g></svg>

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1,5 @@
name: DNS Update (RFC2136)
description: |
Rancher External DNS service powered by any RFC2136 compatible DNS
version: v0.6.0-rancher1
category: External DNS

View File

@ -0,0 +1,13 @@
pointhq:
image: rancher/external-dns:v0.2.0
command: --provider pointhq
expose:
- 1000
environment:
POINTHQ_TOKEN: ${POINTHQ_TOKEN}
POINTHQ_EMAIL: ${POINTHQ_EMAIL}
ROOT_DOMAIN: ${ROOT_DOMAIN}
TTL: ${TTL}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"

View File

@ -0,0 +1,36 @@
.catalog:
name: "PointHQ DNS"
version: "v0.2.0-rancher1"
description: "Rancher External DNS service powered by PointHQ. Requires Rancher version 0.44.0"
minimum_rancher_version: v1.2.0-pre4-rc3
questions:
- variable: "POINTHQ_EMAIL"
label: "PointHQ account email address"
description: "EMail address associated with your PointHQ account"
type: "string"
required: true
- variable: "POINTHQ_TOKEN"
label: "PointHQ API token"
description: "API token for your PointHQ account"
type: "string"
required: true
- variable: "ROOT_DOMAIN"
label: "Root domain"
description: "DNS entries will be created for <service>.<stack>.<environment>.<root domain>"
type: "string"
required: true
- variable: "TTL"
label: "TTL"
description: "The resource record cache time to live (TTL), in seconds"
type: "int"
default: 300
required: false
pointhq:
health_check:
port: 1000
interval: 2000
unhealthy_threshold: 3
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000

View File

@ -0,0 +1,13 @@
pointhq:
image: rancher/external-dns:v0.2.1
command: --provider pointhq
expose:
- 1000
environment:
POINTHQ_TOKEN: ${POINTHQ_TOKEN}
POINTHQ_EMAIL: ${POINTHQ_EMAIL}
ROOT_DOMAIN: ${ROOT_DOMAIN}
TTL: ${TTL}
labels:
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"

View File

@ -0,0 +1,36 @@
.catalog:
name: "PointHQ DNS"
version: "v0.2.1-rancher1"
description: "Rancher External DNS service powered by PointHQ. Requires Rancher version 0.44.0"
minimum_rancher_version: v1.2.0-pre4-rc3
questions:
- variable: "POINTHQ_EMAIL"
label: "PointHQ account email address"
description: "EMail address associated with your PointHQ account"
type: "string"
required: true
- variable: "POINTHQ_TOKEN"
label: "PointHQ API token"
description: "API token for your PointHQ account"
type: "string"
required: true
- variable: "ROOT_DOMAIN"
label: "Root domain"
description: "DNS entries will be created for <service>.<stack>.<environment>.<root domain>"
type: "string"
required: true
- variable: "TTL"
label: "TTL"
description: "The resource record cache time to live (TTL), in seconds"
type: "int"
default: 300
required: false
pointhq:
health_check:
port: 1000
interval: 2000
unhealthy_threshold: 3
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 505.9 163.1" style="enable-background:new 0 0 505.9 163.1;" xml:space="preserve">
<style type="text/css">
.st0{fill:#00C7FC;}
.st1{fill:#FFFFFF;}
.st2{fill:#495755;}
</style>
<g>
<circle class="st0" cx="89.9" cy="81.6" r="62.7"/>
<circle class="st1" cx="77.8" cy="51" r="9"/>
<circle class="st1" cx="114.8" cy="57.7" r="9"/>
<circle class="st1" cx="87.6" cy="89.2" r="9"/>
<circle class="st1" cx="56" cy="78.9" r="9"/>
<circle class="st1" cx="77.8" cy="113.1" r="9"/>
<circle class="st1" cx="128.6" cy="91.6" r="9"/>
<polygon class="st1" points="91.5,93.5 60.9,82.7 62.7,77.6 83.8,85.1 74.2,47.6 115.3,55.1 114.3,60.4 81.4,54.4 "/>
<polygon class="st1" points="80.3,114.1 75.3,112.1 85.9,86.5 128.7,88.9 128.4,94.2 89.4,92.1 "/>
<path class="st2" d="M241.2,109.9h-13.5c-5.9,0-10.8-4.8-10.8-10.8V76.1c0-5.9,4.8-10.8,10.8-10.8h13.4c5.9,0,10.8,4.8,10.8,10.8
v22.9C251.9,105.1,247.1,109.9,241.2,109.9z M227.7,74.1c-1.2,0-2.2,1-2.2,2.2v22.9c0,1.2,1,2.2,2.2,2.2h13.4c1.2,0,2.2-1,2.2-2.2
V76.3c0-1.2-1-2.2-2.2-2.2H227.7z"/>
<path class="st2" d="M467.9,108h-26.4v-8.6h26.4c1.2,0,2.2-1,2.2-2.2V85.1c0-1.2-1-2.2-2.2-2.2h-13.4v-8.6h13.4
c5.9,0,10.8,4.8,10.8,10.8v12.1C478.6,103.1,473.8,108,467.9,108z"/>
<path class="st2" d="M465.2,83h-13.5c-5.9,0-10.8-4.8-10.8-10.8V60.1c0-5.9,4.8-10.8,10.8-10.8h26.4v8.6h-26.4
c-1.2,0-2.2,1-2.2,2.2v12.1c0,1.2,1,2.2,2.2,2.2h13.4V83H465.2z"/>
<path class="st2" d="M369.5,109.7h-25.6V50.4h25.6c8.3,0,15.1,6.8,15.1,15.1v29.2C384.6,103,377.8,109.7,369.5,109.7z M352.6,101.1
h17c3.6,0,6.5-2.9,6.5-6.5V65.5c0-3.6-2.9-6.5-6.5-6.5h-17V101.1z"/>
<path class="st2" d="M340.9,108.7h-9.1c-5.9,0-10.8-4.8-10.8-10.8V55.7h8.6v42.2c0,1.2,1,2.2,2.2,2.2h9.1V108.7z"/>
<path class="st2" d="M309.2,109.4h-8.6V75.8c0-0.7-0.6-1.3-1.3-1.3h-7.4c-6.5,0-9.6,8.8-9.6,10.3h-8.6c0-5.6,6.2-18.9,18.2-18.9
h7.4c5.5,0,9.9,4.4,9.9,9.9L309.2,109.4L309.2,109.4z"/>
<path class="st2" d="M185.2,108.4h-8.6V49.2H203c5.9,0,10.8,4.8,10.8,10.8v14.3c0,5.9-4.8,10.8-10.8,10.8h-17.8V108.4z M185.2,76.4
h17.7c1.2,0,2.2-1,2.2-2.2V59.9c0-1.2-1-2.2-2.2-2.2h-17.7V76.4z"/>
<rect x="259.5" y="65.1" class="st2" width="8.6" height="43.3"/>
<rect x="273.7" y="66.1" class="st2" width="8.6" height="43.3"/>
<rect x="259.5" y="51.6" class="st2" width="8.6" height="9.4"/>
<rect x="312.4" y="65.9" class="st2" width="26.3" height="8.6"/>
<polygon class="st2" points="424.2,108.4 397.9,64.5 397.9,107 389.3,107 389.3,49.4 399.4,49.4 425.6,94.4 425.6,49.4 434.2,49.4
434.2,108.4 "/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

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

View File

@ -0,0 +1,14 @@
powerdns:
image: rancher/external-dns:v0.5.0
command: "-provider=powerdns"
expose:
- 1000
environment:
POWERDNS_API_KEY: ${POWERDNS_API_KEY}
POWERDNS_URL: ${POWERDNS_URL}
ROOT_DOMAIN: ${ROOT_DOMAIN}
TTL: ${TTL}
labels:
io.rancher.container.pull_image: always
io.rancher.container.create_agent: "true"
io.rancher.container.agent.role: "external-dns"

View File

@ -0,0 +1,38 @@
.catalog:
name: "PowerDNS External"
version: "v0.5.0-rancher1"
description: Rancher External DNS service for PowerDNS.
minimum_rancher_version: v1.2.0-pre4-rc3
uuid: powerdns-external-dns:v0.5.0-rancher1
questions:
- variable: POWERDNS_URL
label: PowerDNS URL
type: string
description: http[s] base url to PowerDNS
required: true
default: http://powerdns:8100
- variable: POWERDNS_API_KEY
label: PowerDNS API Key
type: password
description: API Key for PowerDNS
required: true
- variable: TTL
label: TTL
description: "The resource record cache time to live (TTL), in seconds"
type: int
default: 299
required: false
- variable: "ROOT_DOMAIN"
label: "Hosted zone name"
description: "Hosted zone name (zone has to be pre-created). DNS entries will be created for <service>.<stack>.<environment>.<hosted zone>"
type: "string"
required: true
powerdns:
health_check:
port: 1000
interval: 30000
unhealthy_threshold: 3
request_line: GET / HTTP/1.0
healthy_threshold: 2
response_timeout: 2000

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1"
id="Layer_1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 505.9 76.7"
style="enable-background:new 0 0 505.9 76.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:none;enable-background:new ;}
.st1{fill:#797979;}
.st2{fill:#E17F03;}
</style>
<path class="st0" d="z"/>
<g>
<g>
<path class="st1" d="M24.1,70H7V6.7h16.6c8.3,0,14.4,1.7,18.4,5c4.7,4,7,9.5,7,16.5c0,7.7-2.5,13.4-7.5,17.2
c-3.4,2.5-8.3,3.8-14.7,3.8h-2.7V70z M24.1,35l0.8,0c2.1,0,3.7-0.6,5-1.9c1.2-1.3,1.8-3,1.8-5.2c0-2.2-0.6-4-1.8-5.3
c-1.2-1.4-2.7-2.1-4.6-2.1h-1.2V35z"/>
<path class="st1" d="M99.5,38.6c0,9.6-2.2,17.5-6.6,23.5c-4.4,6-10.1,9-17.1,9c-6.2,0-11.6-2.3-16-6.9c-5.6-5.8-8.4-14.6-8.4-26.3
c0-11.2,2.9-19.8,8.8-25.7c4.3-4.4,9.5-6.6,15.5-6.6c7.3,0,13.1,3,17.4,8.9C97.4,20.5,99.5,28.5,99.5,38.6z M81.8,38.7
c0-11.4-2-17.2-6.1-17.2c-2,0-3.6,1.5-4.8,4.5c-1.2,2.8-1.8,6.9-1.8,12.3c0,5.3,0.6,9.5,1.7,12.4c1.1,2.9,2.6,4.4,4.6,4.4
c2,0,3.6-1.4,4.7-4.3C81.2,47.9,81.8,43.8,81.8,38.7z"/>
<path class="st1" d="M157.3,70h-16.5l-3.9-22.2c-0.8-4.3-1.3-8-1.7-11.1c-0.2-1.6-0.4-2.9-0.5-3.9c-0.1-1-0.2-1.8-0.3-2.4
c-0.1,1.1-0.3,3.2-0.6,6.3c-0.1,1.6-0.3,3.2-0.5,4.9c-0.2,1.7-0.4,3.5-0.7,5.5L129.4,70h-16.6L98.7,6.7h16.9l2.8,17.4
c1.1,6.9,1.8,12.4,2.2,16.4l0.6,5.8l0.5-5c0.6-5.8,1.3-11.3,2.2-16.5l3.2-18.1h14.7l2.9,15.2c1.4,7.1,2.6,15.5,3.6,25.1
c0.3-4.3,0.6-8.2,1-11.6c0.4-3.4,0.8-6.4,1.2-9.1l3.1-19.6h16.7L157.3,70z"/>
<path class="st1" d="M171.7,70V6.7h31.8v14.9h-14.7v9.2h13.2v14.3h-13.2v9.7h14.7V70H171.7z"/>
<path class="st1" d="M254.7,70h-18.5l-8.4-22.5c-0.1-0.4-0.2-0.9-0.4-1.5c-0.2-0.6-0.5-1.4-0.8-2.3l0.1,4.2V70h-17V6.7h17.5
c7.7,0,13.5,1.5,17.3,4.5c4.9,3.9,7.3,9.4,7.3,16.6c0,7.7-3.3,12.9-9.8,15.9L254.7,70z M226.8,36h1.1c2,0,3.6-0.8,4.9-2.3
c1.3-1.5,2-3.4,2-5.7c0-4.7-2.5-7.1-7.4-7.1h-0.6V36z"/>
<path class="st1" d="M257.5,70V6.7h14.8c8.4,0,15,2.3,19.7,6.8c6.2,5.9,9.3,14.2,9.3,24.9c0,10.5-2.6,18.6-7.8,24.3
c-4.5,4.9-11.1,7.3-19.9,7.3H257.5z M274.6,54.7c6.1-0.3,9.2-5.6,9.2-15.8c0-5.1-0.8-9-2.3-12c-1.6-3-3.7-4.4-6.3-4.4h-0.5V54.7z"
/>
<path class="st1" d="M306.5,70V6.7h16.3l8.6,22.2c0.5,1.3,1,2.8,1.6,4.5c0.6,1.7,1.2,3.6,1.9,5.9l1.8,5.6
c-0.6-5.5-1.1-10.2-1.4-14.1c-0.3-3.9-0.5-7.2-0.5-9.8V6.7h16.3V70h-16.3l-8.6-23.3c-0.9-2.5-1.7-4.8-2.4-7
c-0.7-2.2-1.4-4.2-1.9-6.2c0.4,4.5,0.6,8.3,0.8,11.6c0.2,3.3,0.2,6.2,0.2,8.7V70H306.5z"/>
<path class="st1" d="M355.7,68.4V48.6c3.4,4.6,7,6.9,10.9,6.9c1.5,0,2.7-0.4,3.6-1.2c0.9-0.8,1.4-1.8,1.4-2.9c0-1.7-1-3.3-3-5
l-2.8-2.2c-1.9-1.4-3.4-2.8-4.8-4.2c-1.3-1.4-2.4-2.8-3.2-4.3c-0.8-1.5-1.4-3-1.8-4.5c-0.4-1.6-0.6-3.2-0.6-4.9c0-3,0.7-6,2-9.3
c0.7-1.5,1.5-2.9,2.4-4.1c0.9-1.2,1.9-2.3,3.1-3.3c3.2-2.7,7.1-4.1,11.7-4.1c4.1,0,8.2,1.1,12.3,3.2v19.3c-1.4-2.2-3-3.9-4.8-5.1
c-1.8-1.2-3.5-1.9-5.2-1.9c-1.3,0-2.4,0.4-3.2,1.1c-0.9,0.7-1.3,1.6-1.3,2.7c0,1.7,1.2,3.4,3.5,5l2.7,2c3.6,2.6,6.2,5.3,7.7,8
c1.6,2.7,2.4,5.9,2.4,9.6c0,6.2-1.9,11.4-5.7,15.4c-3.8,4-8.6,6.1-14.4,6.1C364.6,71.1,360.2,70.2,355.7,68.4z"/>
</g>
<g>
<circle class="st2" cx="411.2" cy="20.9" r="15.3"/>
<circle class="st2" cx="411.2" cy="55.8" r="15.3"/>
<circle class="st2" cx="447.4" cy="20.9" r="15.3"/>
<circle class="st2" cx="447.4" cy="55.8" r="15.3"/>
<circle class="st2" cx="483.6" cy="20.9" r="15.3"/>
<circle class="st2" cx="483.6" cy="55.8" r="15.3"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -0,0 +1,5 @@
name: PowerDNS External
description: |
Rancher External DNS service for PowerDNS
version: v0.5.0-rancher1
category: External DNS

View File

@ -3,6 +3,7 @@
version: "v1.0.0-rancher1"
description: "Domain Name Server powered by Bind9"
minimum_rancher_version: v0.44.0
maximum_rancher_version: v1.1.99
questions:
- variable: "BIND9_ROOTDOMAIN"
label: "The root domain to manage in bind9"
@ -42,4 +43,3 @@ bind9:
strategy: recreate
healthy_threshold: 2
response_timeout: 2000

View File

@ -2,4 +2,4 @@ name: Bind9 Domain Name Server
description: |
Bind9 DNS server, compatible with the "DNS Update (RFC2136)"
version: v1.0.0-rancher1
category: Rancher Services
category: External DNS

View File

@ -3,6 +3,7 @@
version: "v0.1.9-rancher1"
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
minimum_rancher_version: v0.44.0
maximum_rancher_version: v1.1.99
questions:
- variable: "CLOUDFLARE_EMAIL"
label: "CloudFlare email address"

View File

@ -3,6 +3,7 @@
version: "v0.2.1-rancher1"
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
minimum_rancher_version: v0.44.0
maximum_rancher_version: v1.1.99
questions:
- variable: "CLOUDFLARE_EMAIL"
label: "CloudFlare email address"

View File

@ -3,6 +3,7 @@
version: "v0.4.0-rancher1"
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version 0.44.0"
minimum_rancher_version: v0.44.0
maximum_rancher_version: v1.1.99
questions:
- variable: "CLOUDFLARE_EMAIL"
label: "CloudFlare email address"

View File

@ -3,6 +3,7 @@
version: "v0.6.0-rancher1"
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version v1.1.0"
minimum_rancher_version: v1.1.0
maximum_rancher_version: v1.1.99
questions:
- variable: "CLOUDFLARE_EMAIL"
label: "CloudFlare email address"

View File

@ -2,4 +2,4 @@ name: CloudFlare DNS
description: |
Rancher External DNS service powered by CloudFlare
version: v0.6.0-rancher1
category: Rancher Services
category: External DNS

View File

@ -3,6 +3,7 @@
version: "v0.1.9-rancher1"
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version 0.44.0"
minimum_rancher_version: v0.44.0
maximum_rancher_version: v1.1.99
questions:
- variable: "DNSIMPLE_EMAIL"
label: "DNSimple account email address"

View File

@ -3,6 +3,7 @@
version: "v0.2.1-rancher1"
description: "Rancher External DNS service powered by DNSimple. Requires Rancher version 0.44.0"
minimum_rancher_version: v0.44.0
maximum_rancher_version: v1.1.99
questions:
- variable: "DNSIMPLE_EMAIL"
label: "DNSimple account email address"

View File

@ -3,6 +3,7 @@
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
maximum_rancher_version: v1.1.99
questions:
- variable: "DNSIMPLE_EMAIL"
label: "DNSimple Account Email Address"

View File

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

View File

@ -3,6 +3,7 @@
version: "v0.5.0-rancher1"
description: "Rancher External DNS service powered by any RFC2136 compatible DNS"
minimum_rancher_version: v1.1.0
maximum_rancher_version: v1.1.99
questions:
- variable: "RFC2136_HOST"
label: "Domain Name Server IP"

View File

@ -3,6 +3,7 @@
version: "v0.6.0-rancher1"
description: "Rancher External DNS service powered by any RFC2136 compatible DNS server. Requires Rancher version v1.1.0"
minimum_rancher_version: v1.1.0
maximum_rancher_version: v1.1.99
questions:
- variable: "RFC2136_HOST"
label: "DNS Server IP"

View File

@ -2,4 +2,4 @@ name: DNS Update (RFC2136)
description: |
Rancher External DNS service powered by any RFC2136 compatible DNS
version: v0.6.0-rancher1
category: Rancher Services
category: External DNS

View File

@ -3,6 +3,7 @@
version: "v0.2.0-rancher1"
description: "Rancher External DNS service powered by PointHQ. Requires Rancher version 0.44.0"
minimum_rancher_version: v0.44.0
maximum_rancher_version: v1.1.99
questions:
- variable: "POINTHQ_EMAIL"
label: "PointHQ account email address"

View File

@ -3,6 +3,7 @@
version: "v0.2.1-rancher1"
description: "Rancher External DNS service powered by PointHQ. Requires Rancher version 0.44.0"
minimum_rancher_version: v0.44.0
maximum_rancher_version: v1.1.99
questions:
- variable: "POINTHQ_EMAIL"
label: "PointHQ account email address"

View File

@ -2,4 +2,4 @@ name: PointHQ DNS
description: |
Rancher External DNS service powered by PointHQ
version: v0.2.1-rancher1
category: Rancher Services
category: External DNS

View File

@ -3,6 +3,7 @@
version: "v0.5.0-rancher1"
description: Rancher External DNS service for PowerDNS.
minimum_rancher_version: v1.1.0
maximum_rancher_version: v1.1.99
uuid: powerdns-external-dns:v0.5.0-rancher1
questions:
- variable: POWERDNS_URL

View File

@ -2,4 +2,4 @@ name: PowerDNS External
description: |
Rancher External DNS service for PowerDNS
version: v0.5.0-rancher1
category: Rancher Services
category: External DNS