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
@@ -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"
@@ -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
@@ -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.
@@ -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"
@@ -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
@@ -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

@@ -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