Merge remote-tracking branch 'upstream/master' into zammad
This commit is contained in:
commit
fabac8bae3
40
infra-templates/alidns/0/README.md
Normal file
40
infra-templates/alidns/0/README.md
Normal file
@ -0,0 +1,40 @@
|
||||
## Alibaba Cloud DNS
|
||||
|
||||
Rancher External DNS service powered by Alibaba Cloud DNS
|
||||
|
||||
#### Usage
|
||||
|
||||
##### Supported host labels
|
||||
|
||||
`io.rancher.host.external_dns_ip`
|
||||
Override the IP address used in DNS records for containers running on the host. Defaults to the IP address the host is registered with in Rancher.
|
||||
|
||||
`io.rancher.host.external_dns`
|
||||
Accepts 'true' (default) or 'false'
|
||||
When this is set to 'false' no DNS records will ever be created for containers running on this host.
|
||||
|
||||
##### Supported service labels
|
||||
|
||||
`io.rancher.service.external_dns`
|
||||
Accepts 'always', 'never' or 'auto' (default)
|
||||
- `always`: Always create DNS records for this service
|
||||
- `never`: Never create DNS records for this service
|
||||
- `auto`: Create DNS records for this service if it exposes ports on the host
|
||||
|
||||
`io.rancher.service.external_dns_name_template`
|
||||
Custom DNS name template that overrides global custom DNS name template (see below) of default DNS name template for a specific service
|
||||
|
||||
##### 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.
|
14
infra-templates/alidns/0/docker-compose.yml
Normal file
14
infra-templates/alidns/0/docker-compose.yml
Normal file
@ -0,0 +1,14 @@
|
||||
alidns:
|
||||
image: rancher/external-dns:v0.7.4
|
||||
command: -provider=alidns
|
||||
expose:
|
||||
- 1000
|
||||
environment:
|
||||
ALICLOUD_ACCESS_KEY_ID: ${ALICLOUD_ACCESS_KEY_ID}
|
||||
ALICLOUD_ACCESS_KEY_SECRET: ${ALICLOUD_ACCESS_KEY_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"
|
48
infra-templates/alidns/0/rancher-compose.yml
Normal file
48
infra-templates/alidns/0/rancher-compose.yml
Normal file
@ -0,0 +1,48 @@
|
||||
# notemplating
|
||||
.catalog:
|
||||
name: "Alibaba Cloud DNS"
|
||||
version: "v0.1.0"
|
||||
description: "Rancher External DNS service powered by Alibaba Cloud"
|
||||
minimum_rancher_version: v1.6.8-rc1
|
||||
questions:
|
||||
- variable: "ALICLOUD_ACCESS_KEY_ID"
|
||||
label: "Access Key ID"
|
||||
description: "Access key id for your Alibaba Cloud account"
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "ALICLOUD_ACCESS_KEY_SECRET"
|
||||
label: "Access Key Secret"
|
||||
description: "Access key secret for your Alibaba Cloud account"
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "ROOT_DOMAIN"
|
||||
label: "Domain"
|
||||
description: "The DNS zone (domain) managed by Alibaba Cloud. 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"
|
||||
type: "int"
|
||||
default: 600
|
||||
min: 1
|
||||
max: 86400
|
||||
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
|
||||
|
||||
alidns:
|
||||
health_check:
|
||||
port: 1000
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: GET / HTTP/1.0
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
BIN
infra-templates/alidns/catalogIcon-alidns.png
Normal file
BIN
infra-templates/alidns/catalogIcon-alidns.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
7
infra-templates/alidns/config.yml
Normal file
7
infra-templates/alidns/config.yml
Normal file
@ -0,0 +1,7 @@
|
||||
name: Alibaba Cloud DNS
|
||||
description: |
|
||||
Rancher External DNS service powered by Alibaba Cloud
|
||||
version: v0.1.0
|
||||
category: External DNS
|
||||
labels:
|
||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
@ -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: v1.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||
questions:
|
||||
- variable: "CLOUDFLARE_EMAIL"
|
||||
label: "CloudFlare email address"
|
||||
|
@ -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: v1.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||
questions:
|
||||
- variable: "CLOUDFLARE_EMAIL"
|
||||
label: "CloudFlare email address"
|
||||
|
@ -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: v1.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||
questions:
|
||||
- variable: "CLOUDFLARE_EMAIL"
|
||||
label: "CloudFlare email address"
|
||||
|
@ -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.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.5.99
|
||||
questions:
|
||||
- variable: "CLOUDFLARE_EMAIL"
|
||||
label: "CloudFlare email address"
|
||||
|
36
infra-templates/cloudflare/4/README.md
Normal file
36
infra-templates/cloudflare/4/README.md
Normal 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.
|
14
infra-templates/cloudflare/4/docker-compose.yml
Normal file
14
infra-templates/cloudflare/4/docker-compose.yml
Normal 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"
|
48
infra-templates/cloudflare/4/rancher-compose.yml
Normal file
48
infra-templates/cloudflare/4/rancher-compose.yml
Normal file
@ -0,0 +1,48 @@
|
||||
# notemplating
|
||||
.catalog:
|
||||
name: "CloudFlare DNS"
|
||||
version: "v0.6.0-rancher2"
|
||||
description: "Rancher External DNS service powered by CloudFlare. Requires Rancher version v1.1.0"
|
||||
minimum_rancher_version: v1.6.0-rc1
|
||||
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
|
@ -1,7 +1,7 @@
|
||||
name: CloudFlare DNS
|
||||
description: |
|
||||
Rancher External DNS service powered by CloudFlare
|
||||
version: v0.6.0-rancher1
|
||||
version: v0.6.0-rancher2
|
||||
category: External DNS
|
||||
labels:
|
||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||
|
@ -3,6 +3,7 @@
|
||||
version: "v0.6.2-rancher1"
|
||||
description: "Rancher External DNS service powered by DigitalOcean"
|
||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.4.99
|
||||
questions:
|
||||
- variable: "DO_PAT"
|
||||
label: "DigitalOcean Personal Access Token"
|
||||
|
48
infra-templates/digitalocean-dns/1/README.md
Normal file
48
infra-templates/digitalocean-dns/1/README.md
Normal file
@ -0,0 +1,48 @@
|
||||
## DigitalOcean DNS
|
||||
|
||||
Rancher External DNS service powered by DigitalOcean
|
||||
|
||||
#### Changelog
|
||||
|
||||
Initial version
|
||||
|
||||
#### Usage
|
||||
|
||||
##### DigitalOcean DNS record TTL
|
||||
The DigitalOcean API currently does not support per-record TTL setting. You should configure the global TTL setting for the domain manually and set it to a low value (e.g. 60).
|
||||
|
||||
##### 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.
|
||||
|
||||
##### Supported host labels
|
||||
|
||||
`io.rancher.host.external_dns_ip`
|
||||
Override the IP address used in DNS records for containers running on the host. Defaults to the IP address the host is registered with in Rancher.
|
||||
|
||||
`io.rancher.host.external_dns`
|
||||
Accepts 'true' (default) or 'false'
|
||||
When this is set to 'false' no DNS records will ever be created for containers running on this host.
|
||||
|
||||
##### Supported service labels
|
||||
|
||||
`io.rancher.service.external_dns`
|
||||
Accepts 'always', 'never' or 'auto' (default)
|
||||
- `always`: Always create DNS records for this service
|
||||
- `never`: Never create DNS records for this service
|
||||
- `auto`: Create DNS records for this service if it exposes ports on the host
|
||||
|
||||
##### 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.
|
13
infra-templates/digitalocean-dns/1/docker-compose.yml
Normal file
13
infra-templates/digitalocean-dns/1/docker-compose.yml
Normal file
@ -0,0 +1,13 @@
|
||||
digitalocean:
|
||||
image: rancher/external-dns:v0.6.3
|
||||
command: -provider=digitalocean
|
||||
expose:
|
||||
- 1000
|
||||
environment:
|
||||
DO_PAT: ${DO_PAT}
|
||||
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||
TTL: 300
|
||||
labels:
|
||||
io.rancher.container.create_agent: "true"
|
||||
io.rancher.container.agent.role: "external-dns"
|
35
infra-templates/digitalocean-dns/1/rancher-compose.yml
Normal file
35
infra-templates/digitalocean-dns/1/rancher-compose.yml
Normal file
@ -0,0 +1,35 @@
|
||||
.catalog:
|
||||
name: "DigitalOcean DNS"
|
||||
version: "v0.6.3"
|
||||
description: "Rancher External DNS service powered by DigitalOcean"
|
||||
minimum_rancher_version: v1.5.0
|
||||
maximum_rancher_version: v1.5.0
|
||||
questions:
|
||||
- variable: "DO_PAT"
|
||||
label: "DigitalOcean Personal Access Token"
|
||||
description: "Enter your personal access token"
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "ROOT_DOMAIN"
|
||||
label: "Domain Name"
|
||||
description: "The domain name managed by DigitalOcean."
|
||||
type: "string"
|
||||
required: true
|
||||
- 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
|
||||
|
||||
digitalocean:
|
||||
health_check:
|
||||
port: 1000
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: GET / HTTP/1.0
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
53
infra-templates/digitalocean-dns/2/README.md
Normal file
53
infra-templates/digitalocean-dns/2/README.md
Normal file
@ -0,0 +1,53 @@
|
||||
## DigitalOcean DNS
|
||||
|
||||
Rancher External DNS service powered by DigitalOcean
|
||||
|
||||
#### Changelog
|
||||
|
||||
##### v0.6.4
|
||||
|
||||
* Adds support for overriding name template for specific services by setting io.rancher.service.external_dns_name_template label to it in docker-compose.yml
|
||||
|
||||
#### Usage
|
||||
|
||||
##### DigitalOcean DNS record TTL
|
||||
The DigitalOcean API currently does not support per-record TTL setting. You should configure the global TTL setting for the domain manually and set it to a low value (e.g. 60).
|
||||
|
||||
##### 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.
|
||||
|
||||
##### Supported host labels
|
||||
|
||||
`io.rancher.host.external_dns_ip`
|
||||
Override the IP address used in DNS records for containers running on the host. Defaults to the IP address the host is registered with in Rancher.
|
||||
|
||||
`io.rancher.host.external_dns`
|
||||
Accepts 'true' (default) or 'false'
|
||||
When this is set to 'false' no DNS records will ever be created for containers running on this host.
|
||||
|
||||
##### Supported service labels
|
||||
|
||||
`io.rancher.service.external_dns`
|
||||
Accepts 'always', 'never' or 'auto' (default)
|
||||
- `always`: Always create DNS records for this service
|
||||
- `never`: Never create DNS records for this service
|
||||
- `auto`: Create DNS records for this service if it exposes ports on the host
|
||||
|
||||
`io.rancher.service.external_dns_name_template`
|
||||
Custom DNS name template that overrides global custom DNS name template (see below) of default DNS name template for a specific service
|
||||
|
||||
##### 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.
|
13
infra-templates/digitalocean-dns/2/docker-compose.yml
Normal file
13
infra-templates/digitalocean-dns/2/docker-compose.yml
Normal file
@ -0,0 +1,13 @@
|
||||
digitalocean:
|
||||
image: rancher/external-dns:v0.6.4
|
||||
command: -provider=digitalocean
|
||||
expose:
|
||||
- 1000
|
||||
environment:
|
||||
DO_PAT: ${DO_PAT}
|
||||
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||
TTL: 300
|
||||
labels:
|
||||
io.rancher.container.create_agent: "true"
|
||||
io.rancher.container.agent.role: "external-dns"
|
35
infra-templates/digitalocean-dns/2/rancher-compose.yml
Normal file
35
infra-templates/digitalocean-dns/2/rancher-compose.yml
Normal file
@ -0,0 +1,35 @@
|
||||
.catalog:
|
||||
name: "DigitalOcean DNS"
|
||||
version: "v0.6.4"
|
||||
description: "Rancher External DNS service powered by DigitalOcean"
|
||||
minimum_rancher_version: v1.5.0
|
||||
maximum_rancher_version: v1.5.99
|
||||
questions:
|
||||
- variable: "DO_PAT"
|
||||
label: "DigitalOcean Personal Access Token"
|
||||
description: "Enter your personal access token"
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "ROOT_DOMAIN"
|
||||
label: "Domain Name"
|
||||
description: "The domain name managed by DigitalOcean."
|
||||
type: "string"
|
||||
required: true
|
||||
- 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
|
||||
|
||||
digitalocean:
|
||||
health_check:
|
||||
port: 1000
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: GET / HTTP/1.0
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
53
infra-templates/digitalocean-dns/3/README.md
Normal file
53
infra-templates/digitalocean-dns/3/README.md
Normal file
@ -0,0 +1,53 @@
|
||||
## DigitalOcean DNS
|
||||
|
||||
Rancher External DNS service powered by DigitalOcean
|
||||
|
||||
#### Changelog
|
||||
|
||||
##### v0.6.4
|
||||
|
||||
* Adds support for overriding name template for specific services by setting io.rancher.service.external_dns_name_template label to it in docker-compose.yml
|
||||
|
||||
#### Usage
|
||||
|
||||
##### DigitalOcean DNS record TTL
|
||||
The DigitalOcean API currently does not support per-record TTL setting. You should configure the global TTL setting for the domain manually and set it to a low value (e.g. 60).
|
||||
|
||||
##### 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.
|
||||
|
||||
##### Supported host labels
|
||||
|
||||
`io.rancher.host.external_dns_ip`
|
||||
Override the IP address used in DNS records for containers running on the host. Defaults to the IP address the host is registered with in Rancher.
|
||||
|
||||
`io.rancher.host.external_dns`
|
||||
Accepts 'true' (default) or 'false'
|
||||
When this is set to 'false' no DNS records will ever be created for containers running on this host.
|
||||
|
||||
##### Supported service labels
|
||||
|
||||
`io.rancher.service.external_dns`
|
||||
Accepts 'always', 'never' or 'auto' (default)
|
||||
- `always`: Always create DNS records for this service
|
||||
- `never`: Never create DNS records for this service
|
||||
- `auto`: Create DNS records for this service if it exposes ports on the host
|
||||
|
||||
`io.rancher.service.external_dns_name_template`
|
||||
Custom DNS name template that overrides global custom DNS name template (see below) of default DNS name template for a specific service
|
||||
|
||||
##### 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.
|
13
infra-templates/digitalocean-dns/3/docker-compose.yml
Normal file
13
infra-templates/digitalocean-dns/3/docker-compose.yml
Normal file
@ -0,0 +1,13 @@
|
||||
digitalocean:
|
||||
image: rancher/external-dns:v0.6.4
|
||||
command: -provider=digitalocean
|
||||
expose:
|
||||
- 1000
|
||||
environment:
|
||||
DO_PAT: ${DO_PAT}
|
||||
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||
TTL: 300
|
||||
labels:
|
||||
io.rancher.container.create_agent: "true"
|
||||
io.rancher.container.agent.role: "external-dns"
|
35
infra-templates/digitalocean-dns/3/rancher-compose.yml
Normal file
35
infra-templates/digitalocean-dns/3/rancher-compose.yml
Normal file
@ -0,0 +1,35 @@
|
||||
# notemplating
|
||||
.catalog:
|
||||
name: "DigitalOcean DNS"
|
||||
version: "v0.6.4.1"
|
||||
description: "Rancher External DNS service powered by DigitalOcean"
|
||||
minimum_rancher_version: v1.6.0-rc1
|
||||
questions:
|
||||
- variable: "DO_PAT"
|
||||
label: "DigitalOcean Personal Access Token"
|
||||
description: "Enter your personal access token"
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "ROOT_DOMAIN"
|
||||
label: "Domain Name"
|
||||
description: "The domain name managed by DigitalOcean."
|
||||
type: "string"
|
||||
required: true
|
||||
- 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
|
||||
|
||||
digitalocean:
|
||||
health_check:
|
||||
port: 1000
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: GET / HTTP/1.0
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
@ -1,7 +1,7 @@
|
||||
name: DigitalOcean DNS
|
||||
description: |
|
||||
Rancher External DNS service powered by DigitalOcean
|
||||
version: v0.6.2-rancher1
|
||||
version: v0.6.4.1
|
||||
category: External DNS
|
||||
labels:
|
||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||
|
@ -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: v1.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||
questions:
|
||||
- variable: "DNSIMPLE_EMAIL"
|
||||
label: "DNSimple account email address"
|
||||
|
@ -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: v1.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||
questions:
|
||||
- variable: "DNSIMPLE_EMAIL"
|
||||
label: "DNSimple account email address"
|
||||
|
@ -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.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.5.99
|
||||
questions:
|
||||
- variable: "DNSIMPLE_EMAIL"
|
||||
label: "DNSimple Account Email Address"
|
||||
|
36
infra-templates/dnsimple/3/README.md
Normal file
36
infra-templates/dnsimple/3/README.md
Normal 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.
|
14
infra-templates/dnsimple/3/docker-compose.yml
Normal file
14
infra-templates/dnsimple/3/docker-compose.yml
Normal 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"
|
46
infra-templates/dnsimple/3/rancher-compose.yml
Normal file
46
infra-templates/dnsimple/3/rancher-compose.yml
Normal file
@ -0,0 +1,46 @@
|
||||
# notemplating
|
||||
.catalog:
|
||||
name: "DNSimple DNS"
|
||||
version: "v0.6.0-rancher2"
|
||||
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
|
@ -1,7 +1,7 @@
|
||||
name: DNSimple DNS
|
||||
description: |
|
||||
Rancher External DNS service powered by DNSimple
|
||||
version: v0.6.0-rancher1
|
||||
version: v0.6.0-rancher2
|
||||
category: External DNS
|
||||
labels:
|
||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||
|
@ -3,6 +3,7 @@
|
||||
version: "v0.5.0-rancher1"
|
||||
description: "Rancher External DNS service powered by any RFC2136 compatible DNS"
|
||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||
questions:
|
||||
- variable: "RFC2136_HOST"
|
||||
label: "Domain Name Server IP"
|
||||
|
@ -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.2.0-pre4-rc1
|
||||
maximum_rancher_version: v1.2.0-pre4-rc1
|
||||
questions:
|
||||
- variable: "RFC2136_HOST"
|
||||
label: "DNS Server IP"
|
||||
|
@ -3,6 +3,7 @@
|
||||
version: "v0.6.2-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-rc1
|
||||
maximum_rancher_version: v1.5.99
|
||||
questions:
|
||||
- variable: "RFC2136_HOST"
|
||||
label: "DNS Server IP"
|
||||
|
52
infra-templates/dnsupdate-rfc2136/3/README.md
Normal file
52
infra-templates/dnsupdate-rfc2136/3/README.md
Normal file
@ -0,0 +1,52 @@
|
||||
## DNS Update (RFC2136)
|
||||
|
||||
Rancher External DNS service powered by any RFC2136 compatible DNS server
|
||||
|
||||
#### Changelog
|
||||
|
||||
##### v0.6.2
|
||||
|
||||
* Adds support for disabling/enforcing external DNS on the host and service level using labels
|
||||
* Adds support for insecure DNS Updates
|
||||
* Fixes an issue with lingering TCP keep-alive connections to the Rancher Metadata service
|
||||
|
||||
#### 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.
|
||||
|
||||
##### Supported host labels
|
||||
|
||||
`io.rancher.host.external_dns_ip`
|
||||
Override the IP address used in DNS records for containers running on the host. Defaults to the IP address the host is registered with in Rancher.
|
||||
|
||||
`io.rancher.host.external_dns`
|
||||
Accepts 'true' (default) or 'false'
|
||||
When this is set to 'false' no DNS records will ever be created for containers running on this host.
|
||||
|
||||
##### Supported service labels
|
||||
|
||||
`io.rancher.service.external_dns`
|
||||
Accepts 'always', 'never' or 'auto' (default)
|
||||
- `always`: Always create DNS records for this service
|
||||
- `never`: Never create DNS records for this service
|
||||
- `auto`: Create DNS records for this service if it exposes ports on the host
|
||||
|
||||
##### 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.
|
17
infra-templates/dnsupdate-rfc2136/3/docker-compose.yml
Normal file
17
infra-templates/dnsupdate-rfc2136/3/docker-compose.yml
Normal file
@ -0,0 +1,17 @@
|
||||
rfc2136dns:
|
||||
image: rancher/external-dns:v0.6.2
|
||||
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}
|
||||
RFC2136_INSECURE: ${RFC2136_INSECURE}
|
||||
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||
TTL: ${TTL}
|
||||
labels:
|
||||
io.rancher.container.create_agent: "true"
|
||||
io.rancher.container.agent.role: "external-dns"
|
63
infra-templates/dnsupdate-rfc2136/3/rancher-compose.yml
Normal file
63
infra-templates/dnsupdate-rfc2136/3/rancher-compose.yml
Normal file
@ -0,0 +1,63 @@
|
||||
# notemplating
|
||||
.catalog:
|
||||
name: "DNS Update (RFC2136)"
|
||||
version: "v0.6.2-rancher2"
|
||||
description: "Rancher External DNS service powered by any RFC2136 compatible DNS server. Requires Rancher version v1.1.0"
|
||||
minimum_rancher_version: v1.6.0-rc1
|
||||
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_INSECURE"
|
||||
description: "Disables TSIG authentication for DNS Update requests"
|
||||
label: "Insecure DNS Update"
|
||||
required: true
|
||||
default: false
|
||||
type: "boolean"
|
||||
- variable: "RFC2136_TSIG_KEYNAME"
|
||||
label: "TSIG Key Name"
|
||||
description: "Name of the TSIG key used for authenticating with the DNS server"
|
||||
type: "string"
|
||||
required: false
|
||||
- variable: "RFC2136_TSIG_SECRET"
|
||||
label: "TSIG Key"
|
||||
description: "TSIG secret key used for authenticating with the DNS server (HMAC-MD5, base64 encoded)"
|
||||
type: "string"
|
||||
required: false
|
||||
- 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
|
60
infra-templates/dnsupdate-rfc2136/4/README.md
Normal file
60
infra-templates/dnsupdate-rfc2136/4/README.md
Normal file
@ -0,0 +1,60 @@
|
||||
## DNS Update (RFC2136)
|
||||
|
||||
Rancher External DNS service powered by any RFC2136 compatible DNS server
|
||||
|
||||
#### Changelog
|
||||
|
||||
##### v0.6.2
|
||||
|
||||
* Adds support for disabling/enforcing external DNS on the host and service level using labels
|
||||
* Adds support for insecure DNS Updates
|
||||
* Fixes an issue with lingering TCP keep-alive connections to the Rancher Metadata service
|
||||
|
||||
#### 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.
|
||||
|
||||
##### Supported host labels
|
||||
|
||||
`io.rancher.host.external_dns_ip`
|
||||
Override the IP address used in DNS records for containers running on the host. Defaults to the IP address the host is registered with in Rancher.
|
||||
|
||||
`io.rancher.host.external_dns`
|
||||
Accepts 'true' (default) or 'false'
|
||||
When this is set to 'false' no DNS records will ever be created for containers running on this host.
|
||||
|
||||
##### Supported service labels
|
||||
|
||||
`io.rancher.service.external_dns`
|
||||
Accepts 'always', 'never' or 'auto' (default)
|
||||
- `always`: Always create DNS records for this service
|
||||
- `never`: Never create DNS records for this service
|
||||
- `auto`: Create DNS records for this service if it exposes ports on the host
|
||||
|
||||
|
||||
`io.rancher.service.external_dns_name_template`
|
||||
Accepts valid DNS name template
|
||||
|
||||
By default DNS entries are named based on default template defined on dnsupdate service.
|
||||
You can customize it per service by assigning `io.rancher.service.external_dns_name_template` label to each service.
|
||||
dnsupdate will use this template instead of default one when creating dns record for related service.
|
||||
|
||||
##### 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.
|
17
infra-templates/dnsupdate-rfc2136/4/docker-compose.yml
Normal file
17
infra-templates/dnsupdate-rfc2136/4/docker-compose.yml
Normal file
@ -0,0 +1,17 @@
|
||||
rfc2136dns:
|
||||
image: rancher/external-dns:v0.7.2
|
||||
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}
|
||||
RFC2136_INSECURE: ${RFC2136_INSECURE}
|
||||
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||
TTL: ${TTL}
|
||||
labels:
|
||||
io.rancher.container.create_agent: "true"
|
||||
io.rancher.container.agent.role: "external-dns"
|
63
infra-templates/dnsupdate-rfc2136/4/rancher-compose.yml
Normal file
63
infra-templates/dnsupdate-rfc2136/4/rancher-compose.yml
Normal file
@ -0,0 +1,63 @@
|
||||
# notemplating
|
||||
.catalog:
|
||||
name: "DNS Update (RFC2136)"
|
||||
version: "v0.7.2-rancher1"
|
||||
description: "Rancher External DNS service powered by any RFC2136 compatible DNS server. Requires Rancher version v1.1.0"
|
||||
minimum_rancher_version: v1.6.0-rc1
|
||||
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_INSECURE"
|
||||
description: "Disables TSIG authentication for DNS Update requests"
|
||||
label: "Insecure DNS Update"
|
||||
required: true
|
||||
default: false
|
||||
type: "boolean"
|
||||
- variable: "RFC2136_TSIG_KEYNAME"
|
||||
label: "TSIG Key Name"
|
||||
description: "Name of the TSIG key used for authenticating with the DNS server"
|
||||
type: "string"
|
||||
required: false
|
||||
- variable: "RFC2136_TSIG_SECRET"
|
||||
label: "TSIG Key"
|
||||
description: "TSIG secret key used for authenticating with the DNS server (HMAC-MD5, base64 encoded)"
|
||||
type: "string"
|
||||
required: false
|
||||
- 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
|
@ -1,7 +1,7 @@
|
||||
name: DNS Update (RFC2136)
|
||||
description: |
|
||||
Rancher External DNS service powered by any RFC2136 compatible DNS
|
||||
version: v0.6.2-rancher1
|
||||
version: v0.7.2-rancher1
|
||||
category: External DNS
|
||||
labels:
|
||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||
|
13
infra-templates/gandi-dns/0/docker-compose.yml
Normal file
13
infra-templates/gandi-dns/0/docker-compose.yml
Normal file
@ -0,0 +1,13 @@
|
||||
gandidns:
|
||||
image: rancher/external-dns:v0.7.2
|
||||
command: -provider=gandi
|
||||
expose:
|
||||
- 1000
|
||||
environment:
|
||||
GANDI_APIKEY: ${GANDI_APIKEY}
|
||||
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||
NAME_TEMPLATE: ${NAME_TEMPLATE}
|
||||
TTL: ${TTL}
|
||||
labels:
|
||||
io.rancher.container.create_agent: "true"
|
||||
io.rancher.container.agent.role: "external-dns"
|
43
infra-templates/gandi-dns/0/rancher-compose.yml
Normal file
43
infra-templates/gandi-dns/0/rancher-compose.yml
Normal file
@ -0,0 +1,43 @@
|
||||
# notemplating
|
||||
.catalog:
|
||||
name: "Gandi DNS"
|
||||
version: "v0.1.0"
|
||||
description: "Rancher External DNS service powered by Gandi. Requires Rancher version v1.1.0"
|
||||
maintainer: "Frederic Leger <contact@webofmars.com>"
|
||||
minimum_rancher_version: v1.6.0-rc1
|
||||
#maximum_rancher_version:
|
||||
questions:
|
||||
- variable: "GANDI_APIKEY"
|
||||
label: "Gandi API key"
|
||||
description: "API key for your Gandi account"
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "ROOT_DOMAIN"
|
||||
label: "Root Domain"
|
||||
description: "The domain name managed by Gandi."
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "TTL"
|
||||
label: "TTL"
|
||||
description: "The resource record cache time to live (TTL), in seconds (minimum 300)"
|
||||
type: "int"
|
||||
default: 300
|
||||
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
|
||||
|
||||
gandidns:
|
||||
health_check:
|
||||
port: 1000
|
||||
interval: 15000
|
||||
unhealthy_threshold: 2
|
||||
request_line: GET / HTTP/1.0
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
BIN
infra-templates/gandi-dns/catalogIcon-gandidns.jpg
Normal file
BIN
infra-templates/gandi-dns/catalogIcon-gandidns.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
7
infra-templates/gandi-dns/config.yml
Normal file
7
infra-templates/gandi-dns/config.yml
Normal file
@ -0,0 +1,7 @@
|
||||
name: GANDI DNS
|
||||
description: |
|
||||
Rancher External DNS service powered by Gandi.net
|
||||
version: v0.1.0
|
||||
category: External DNS
|
||||
labels:
|
||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
14
infra-templates/powerdns-external-dns/1/docker-compose.yml
Normal file
14
infra-templates/powerdns-external-dns/1/docker-compose.yml
Normal file
@ -0,0 +1,14 @@
|
||||
powerdns:
|
||||
image: rancher/external-dns:v0.7.1
|
||||
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"
|
38
infra-templates/powerdns-external-dns/1/rancher-compose.yml
Normal file
38
infra-templates/powerdns-external-dns/1/rancher-compose.yml
Normal file
@ -0,0 +1,38 @@
|
||||
.catalog:
|
||||
name: "PowerDNS External"
|
||||
version: "v0.7.1"
|
||||
description: Rancher External DNS service for PowerDNS.
|
||||
minimum_rancher_version: v1.2.0-pre4-rc1
|
||||
uuid: powerdns-external-dns:v0.7.1
|
||||
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
|
@ -1,7 +1,7 @@
|
||||
name: PowerDNS External
|
||||
description: |
|
||||
Rancher External DNS service for PowerDNS
|
||||
version: v0.5.0-rancher1
|
||||
version: v0.7.1
|
||||
category: External DNS
|
||||
labels:
|
||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||
|
@ -9,23 +9,42 @@ spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- image: husseingalal/mongo-k8s-config:v0.2.0
|
||||
name: mongo-config
|
||||
volumeMounts:
|
||||
- mountPath: /opt/rancher/bin
|
||||
name: utility
|
||||
stdin: true
|
||||
tty: true
|
||||
- name: mongo-sec
|
||||
image: husseingalal/mongo-k8s
|
||||
image: mongo:3.4
|
||||
ports:
|
||||
- containerPort: 27017
|
||||
volumeMounts:
|
||||
- name: mongo-ephermal-storage
|
||||
- name: mongo-datadir
|
||||
mountPath: /data/db
|
||||
- mountPath: /opt/rancher/bin
|
||||
name: utility
|
||||
command:
|
||||
- /run.sh
|
||||
- /opt/rancher/bin/run.sh
|
||||
- mongod
|
||||
- "--replSet"
|
||||
- rs0
|
||||
- "--smallfiles"
|
||||
- "--noprealloc"
|
||||
env:
|
||||
- name: PRIMARY
|
||||
value: "false"
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
volumes:
|
||||
- name: mongo-ephermal-storage
|
||||
emptyDir: {}
|
||||
- name: mongo-datadir
|
||||
hostPath:
|
||||
path: ${mongo_volume}
|
||||
- name: utility
|
||||
emptyDir: {}
|
||||
metadata:
|
||||
labels:
|
||||
secondary: "true"
|
||||
|
@ -9,33 +9,49 @@ spec:
|
||||
- port: 27017
|
||||
targetPort: 27017
|
||||
selector:
|
||||
name: mongo-master
|
||||
name: mongo-primary
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
labels:
|
||||
name: mongo-master
|
||||
name: mongo-master
|
||||
name: mongo-primary
|
||||
name: mongo-primary
|
||||
spec:
|
||||
containers:
|
||||
- name: mongo-master
|
||||
image: "husseingalal/mongo-k8s"
|
||||
- name: mongo-config
|
||||
image: husseingalal/mongo-k8s-config:v0.2.0
|
||||
volumeMounts:
|
||||
- mountPath: /opt/rancher/bin
|
||||
name: utility
|
||||
stdin: true
|
||||
tty: true
|
||||
- name: mongo-primary
|
||||
image: mongo:3.4
|
||||
env:
|
||||
- name: PRIMARY
|
||||
value: "true"
|
||||
- name: PRIMARY
|
||||
value: "true"
|
||||
- name: POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
ports:
|
||||
- containerPort: 27017
|
||||
command:
|
||||
- /run.sh
|
||||
- /opt/rancher/bin/run.sh
|
||||
- mongod
|
||||
- "--replSet"
|
||||
- rs0
|
||||
- "--smallfiles"
|
||||
- "--noprealloc"
|
||||
volumeMounts:
|
||||
- mountPath: /opt/rancher/bin
|
||||
name: utility
|
||||
- mountPath: /data/db
|
||||
name: mongo-primary-ephermal-storage
|
||||
name: mongo-datadir
|
||||
volumes:
|
||||
- name: mongo-primary-ephermal-storage
|
||||
emptyDir: {}
|
||||
- name: mongo-datadir
|
||||
hostPath:
|
||||
path: ${mongo_volume}
|
||||
- name: utility
|
||||
emptyDir: {}
|
||||
|
@ -2,6 +2,7 @@
|
||||
name: MongoDB
|
||||
version: 3.2-rancher1
|
||||
description: MongoDB Replica Set
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "sec_no"
|
||||
label: "Number of Secondary nodes"
|
||||
@ -9,3 +10,8 @@
|
||||
type: int
|
||||
default: 2
|
||||
description: "should be even number"
|
||||
- variable: "mongo_volume"
|
||||
label: "hostpath volume for mongodb"
|
||||
required: true
|
||||
type: string
|
||||
default: "/data/db"
|
||||
|
@ -4,6 +4,7 @@
|
||||
description: "Prometheus Monitoring Solution"
|
||||
uuid: prometheus-1
|
||||
minimum_rancher_version: v0.56.0
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "cattle_config_url"
|
||||
label: "Rancher Server URL"
|
||||
|
@ -2,6 +2,7 @@
|
||||
name: "K8s Example Cassandra"
|
||||
version: "1.0.0"
|
||||
description: ""
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "NODE_COUNT"
|
||||
label: "Initial number of Cassandra nodes"
|
||||
|
@ -1,9 +1,10 @@
|
||||
.catalog:
|
||||
name: Cloud9
|
||||
description: |
|
||||
(Experimental) Cloud 9 SDK
|
||||
(Experimental) Cloud 9 SDK
|
||||
version: 3.0-k8s1
|
||||
minimum_rancher_version: v1.0.0
|
||||
maximum_rancher_version: v1.3.99
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
uuid: cloud9-0
|
||||
questions:
|
||||
|
@ -2,6 +2,7 @@
|
||||
name: Ghost
|
||||
version: 0.7.8-rancher1
|
||||
description: Open source publishing platform
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "mysql_root_pass"
|
||||
label: "MySQL root password"
|
||||
|
@ -2,6 +2,7 @@
|
||||
name: "K8s Guestbook"
|
||||
version: "1.0.0"
|
||||
description: "It's a guestbook, I guess"
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "SERVICE_NAME"
|
||||
label: "Service Name"
|
||||
|
@ -2,6 +2,7 @@
|
||||
name: Heapster Grafana InfluxDB
|
||||
version: canary-rancher1
|
||||
description: A cluster-wide aggregator of monitoring and event data.
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "GRAFANA_PORT"
|
||||
label: "Node port for Grafana"
|
||||
|
@ -4,6 +4,7 @@
|
||||
description: |
|
||||
(Experimental) Apache Kafka cluster.
|
||||
minimum_rancher_version: v0.59.0
|
||||
maximum_rancher_version: v1.3.99
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
uuid: kafka-0
|
||||
questions:
|
||||
|
33
kubernetes-templates/kafka/1/README.md
Normal file
33
kubernetes-templates/kafka/1/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# Apache Kafka (Experimental)
|
||||
|
||||
### Info:
|
||||
|
||||
This template creates, scale in and scale out a multinodes kafka broker cluster on top of k8s. The configuration is generated with confd from k8s.
|
||||
Cluster size are variable after deployment, and get reconfigured.
|
||||
|
||||
|
||||
### Usage:
|
||||
|
||||
Select Apache Kafka from catalog.
|
||||
|
||||
Enter the number of nodes, mem and refresh interval for the kafka cluster.
|
||||
|
||||
Change the following kafka default parameters, if you need:
|
||||
|
||||
- kafka_name="kafka" # kafka k8s service and rc name.
|
||||
- kafka_namespace="kafka" # kafka k8s namespace
|
||||
- kafka_scale=3 # kafka scale to deploy.
|
||||
- kafka_mem=512 # kafka broker memory.
|
||||
- kafka_log_dir="/opt/kafka/logs" # Kafka log dir.
|
||||
- kafka_log_retention="168" # kafka log retention.
|
||||
- kafka_num_partitions="1" # Kafka partitions number
|
||||
- kafka_delete_topics="false" # kafka delete topics
|
||||
- kafka_pub_ip= < true | false > # Advertise public ip to zookeeper.
|
||||
- zk_link="kafka-zk/zk" # zookeeper namespace/service to connect to.
|
||||
|
||||
Click deploy.
|
||||
|
||||
Kafka can now be accessed over the Rancher network.
|
||||
|
||||
Note: When you scale the cluster, zero downtime is not guaranteed..yet..
|
||||
|
77
kubernetes-templates/kafka/1/kafka-rc.yml
Normal file
77
kubernetes-templates/kafka/1/kafka-rc.yml
Normal file
@ -0,0 +1,77 @@
|
||||
apiVersion: v1
|
||||
kind: ReplicationController
|
||||
metadata:
|
||||
name: "${kafka_name}"
|
||||
namespace: "${kafka_namespace}"
|
||||
labels:
|
||||
name: "${kafka_name}"
|
||||
spec:
|
||||
replicas: ${kafka_scale}
|
||||
selector:
|
||||
name: "${kafka_name}"
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: "${kafka_name}"
|
||||
spec:
|
||||
containers:
|
||||
- name: "broker-conf"
|
||||
image: "rawmind/k8s-kafka:0.10.2.0-1"
|
||||
volumeMounts:
|
||||
- mountPath: "/opt/tools"
|
||||
name: "broker-conf"
|
||||
ports:
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
- name: "broker-volume"
|
||||
image: "rawmind/alpine-volume:0.0.2-1"
|
||||
env:
|
||||
- name: SERVICE_UID
|
||||
value: "10003"
|
||||
- name: SERVICE_GID
|
||||
value: "10003"
|
||||
- name: SERVICE_VOLUME
|
||||
value: "${kafka_log_dir}"
|
||||
- name: KEEP_ALIVE
|
||||
value: "1"
|
||||
volumeMounts:
|
||||
- mountPath: "${kafka_log_dir}"
|
||||
name: "broker-data"
|
||||
ports:
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
- name: "broker-service"
|
||||
image: "rawmind/alpine-kafka:0.10.2.0-2"
|
||||
env:
|
||||
- name: JVMFLAGS
|
||||
value: "-Xmx${kafka_mem}m -Xms${kafka_mem}m"
|
||||
- name: CONFD_INTERVAL
|
||||
value: "${kafka_interval}"
|
||||
- name: KAFKA_ZK_SERVICE
|
||||
value: "${zk_link}"
|
||||
- name: KAFKA_DELETE_TOPICS
|
||||
value: "${kafka_delete_topics}"
|
||||
- name: KAFKA_LOG_DIRS
|
||||
value: "${kafka_log_dir}"
|
||||
- name: KAFKA_LOG_RETENTION_HOURS
|
||||
value: "${kafka_log_retention}"
|
||||
- name: KAFKA_NUM_PARTITIONS
|
||||
value: "${kafka_num_partitions}"
|
||||
- name: ADVERTISE_PUB_IP
|
||||
value: "${kafka_pub_ip}"
|
||||
- name: POD_NAMESPACE
|
||||
value: "${kafka_namespace}"
|
||||
volumeMounts:
|
||||
- mountPath: "${kafka_log_dir}"
|
||||
name: "broker-data"
|
||||
- mountPath: "/opt/tools"
|
||||
name: "broker-conf"
|
||||
ports:
|
||||
- containerPort: 9092
|
||||
name: "broker-client"
|
||||
protocol: "TCP"
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
restartPolicy: "Always"
|
||||
volumes:
|
||||
- name: "broker-data"
|
||||
emptyDir: {}
|
||||
- name: "broker-conf"
|
||||
emptyDir: {}
|
15
kubernetes-templates/kafka/1/kafka-service.yml
Normal file
15
kubernetes-templates/kafka/1/kafka-service.yml
Normal file
@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: "${kafka_name}"
|
||||
labels:
|
||||
name: "${kafka_name}"
|
||||
spec:
|
||||
ports:
|
||||
- port: 9092
|
||||
targetPort: 9092
|
||||
name: "broker-client"
|
||||
protocol: "TCP"
|
||||
selector:
|
||||
name: "${kafka_name}"
|
||||
clusterIP: "None"
|
95
kubernetes-templates/kafka/1/rancher-compose.yml
Normal file
95
kubernetes-templates/kafka/1/rancher-compose.yml
Normal file
@ -0,0 +1,95 @@
|
||||
.catalog:
|
||||
name: Kafka
|
||||
version: 0.10.2.0-k8s
|
||||
description: |
|
||||
(Experimental) Apache Kafka cluster.
|
||||
minimum_rancher_version: v0.59.0
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
uuid: kafka-0
|
||||
questions:
|
||||
- variable: "kafka_name"
|
||||
description: "Name of kafka rc and service."
|
||||
label: "K8s rc name:"
|
||||
required: true
|
||||
default: "kafka"
|
||||
type: "string"
|
||||
- variable: "kafka_namespace"
|
||||
description: "Name of kafka namespace."
|
||||
label: "K8s namespace:"
|
||||
required: true
|
||||
default: "default"
|
||||
type: "string"
|
||||
- variable: "kafka_scale"
|
||||
description: "Number of brokers nodes. Note: Recommended an odd number"
|
||||
label: "Broker Nodes:"
|
||||
required: true
|
||||
default: 3
|
||||
type: "int"
|
||||
- variable: "kafka_mem"
|
||||
description: "Amount of memory to config brokers."
|
||||
label: "Broker Memory (mb):"
|
||||
required: true
|
||||
default: 1024
|
||||
type: "string"
|
||||
- variable: "kafka_log_dir"
|
||||
description: "Broker volume to log data"
|
||||
label: "Broker log volume:"
|
||||
required: true
|
||||
default: "/opt/kafka/logs"
|
||||
type: "string"
|
||||
- variable: "kafka_log_retention"
|
||||
description: "Broker log retention in hours"
|
||||
label: "Broker log retention (h):"
|
||||
required: true
|
||||
default: "168"
|
||||
type: "int"
|
||||
- variable: "kafka_num_partitions"
|
||||
description: "Number of broker partitions"
|
||||
label: "Broker partitions:"
|
||||
required: true
|
||||
default: "1"
|
||||
type: "int"
|
||||
- variable: "kafka_delete_topics"
|
||||
label: "Kafka delete topics:"
|
||||
description: |
|
||||
Enable delete topics in kafka.
|
||||
default: false
|
||||
required: true
|
||||
type: enum
|
||||
options:
|
||||
- false
|
||||
- true
|
||||
- variable: "kafka_interval"
|
||||
description: "Interval to poll/apply configuration changes. 0 to disable"
|
||||
label: "Broker Interval (s):"
|
||||
required: true
|
||||
default: 60
|
||||
type: "int"
|
||||
- variable: "kafka_pub_ip"
|
||||
description: "Advertise local and host public ip"
|
||||
label: "Broker public ip:"
|
||||
default: false
|
||||
required: true
|
||||
type: enum
|
||||
options:
|
||||
- false
|
||||
- true
|
||||
- variable: "zk_link"
|
||||
description: |
|
||||
Choose the Zookeeper service to use.
|
||||
It's really recommended a dedicated zookeeper service just for Kafka.
|
||||
label: "Zookeeper stack/service"
|
||||
default: "default/zookeeper"
|
||||
required: true
|
||||
type: "service"
|
||||
broker:
|
||||
scale: ${kafka_scale}
|
||||
retain_ip: true
|
||||
health_check:
|
||||
port: 9092
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: ''
|
||||
healthy_threshold: 2
|
||||
response_timeout: 5000
|
||||
|
33
kubernetes-templates/kafka/2/README.md
Normal file
33
kubernetes-templates/kafka/2/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# Apache Kafka (Experimental)
|
||||
|
||||
### Info:
|
||||
|
||||
This template creates, scale in and scale out a multinodes kafka broker cluster on top of k8s. The configuration is generated with confd from k8s.
|
||||
Cluster size are variable after deployment, and get reconfigured.
|
||||
|
||||
|
||||
### Usage:
|
||||
|
||||
Select Apache Kafka from catalog.
|
||||
|
||||
Enter the number of nodes, mem and refresh interval for the kafka cluster.
|
||||
|
||||
Change the following kafka default parameters, if you need:
|
||||
|
||||
- kafka_name="kafka" # kafka k8s service and rc name.
|
||||
- kafka_namespace="kafka" # kafka k8s namespace
|
||||
- kafka_scale=3 # kafka scale to deploy.
|
||||
- kafka_mem=512 # kafka broker memory.
|
||||
- kafka_log_dir="/opt/kafka/logs" # Kafka log dir.
|
||||
- kafka_log_retention="168" # kafka log retention.
|
||||
- kafka_num_partitions="1" # Kafka partitions number
|
||||
- kafka_delete_topics="false" # kafka delete topics
|
||||
- kafka_pub_ip= < true | false > # Advertise public ip to zookeeper.
|
||||
- zk_link="kafka-zk/zk" # zookeeper namespace/service to connect to.
|
||||
|
||||
Click deploy.
|
||||
|
||||
Kafka can now be accessed over the Rancher network.
|
||||
|
||||
Note: When you scale the cluster, zero downtime is not guaranteed..yet..
|
||||
|
77
kubernetes-templates/kafka/2/kafka-rc.yml
Normal file
77
kubernetes-templates/kafka/2/kafka-rc.yml
Normal file
@ -0,0 +1,77 @@
|
||||
apiVersion: v1
|
||||
kind: ReplicationController
|
||||
metadata:
|
||||
name: "${kafka_name}"
|
||||
namespace: "${kafka_namespace}"
|
||||
labels:
|
||||
name: "${kafka_name}"
|
||||
spec:
|
||||
replicas: ${kafka_scale}
|
||||
selector:
|
||||
name: "${kafka_name}"
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: "${kafka_name}"
|
||||
spec:
|
||||
containers:
|
||||
- name: "broker-conf"
|
||||
image: "rawmind/k8s-kafka:0.10.2.0-1"
|
||||
volumeMounts:
|
||||
- mountPath: "/opt/tools"
|
||||
name: "broker-conf"
|
||||
ports:
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
- name: "broker-volume"
|
||||
image: "rawmind/alpine-volume:0.0.2-1"
|
||||
env:
|
||||
- name: SERVICE_UID
|
||||
value: "10003"
|
||||
- name: SERVICE_GID
|
||||
value: "10003"
|
||||
- name: SERVICE_VOLUME
|
||||
value: "${kafka_log_dir}"
|
||||
- name: KEEP_ALIVE
|
||||
value: "1"
|
||||
volumeMounts:
|
||||
- mountPath: "${kafka_log_dir}"
|
||||
name: "broker-data"
|
||||
ports:
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
- name: "broker-service"
|
||||
image: "rawmind/alpine-kafka:0.10.2.1"
|
||||
env:
|
||||
- name: JVMFLAGS
|
||||
value: "-Xmx${kafka_mem}m -Xms${kafka_mem}m"
|
||||
- name: CONFD_INTERVAL
|
||||
value: "${kafka_interval}"
|
||||
- name: KAFKA_ZK_SERVICE
|
||||
value: "${zk_link}"
|
||||
- name: KAFKA_DELETE_TOPICS
|
||||
value: "${kafka_delete_topics}"
|
||||
- name: KAFKA_LOG_DIRS
|
||||
value: "${kafka_log_dir}"
|
||||
- name: KAFKA_LOG_RETENTION_HOURS
|
||||
value: "${kafka_log_retention}"
|
||||
- name: KAFKA_NUM_PARTITIONS
|
||||
value: "${kafka_num_partitions}"
|
||||
- name: ADVERTISE_PUB_IP
|
||||
value: "${kafka_pub_ip}"
|
||||
- name: POD_NAMESPACE
|
||||
value: "${kafka_namespace}"
|
||||
volumeMounts:
|
||||
- mountPath: "${kafka_log_dir}"
|
||||
name: "broker-data"
|
||||
- mountPath: "/opt/tools"
|
||||
name: "broker-conf"
|
||||
ports:
|
||||
- containerPort: 9092
|
||||
name: "broker-client"
|
||||
protocol: "TCP"
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
restartPolicy: "Always"
|
||||
volumes:
|
||||
- name: "broker-data"
|
||||
emptyDir: {}
|
||||
- name: "broker-conf"
|
||||
emptyDir: {}
|
15
kubernetes-templates/kafka/2/kafka-service.yml
Normal file
15
kubernetes-templates/kafka/2/kafka-service.yml
Normal file
@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: "${kafka_name}"
|
||||
labels:
|
||||
name: "${kafka_name}"
|
||||
spec:
|
||||
ports:
|
||||
- port: 9092
|
||||
targetPort: 9092
|
||||
name: "broker-client"
|
||||
protocol: "TCP"
|
||||
selector:
|
||||
name: "${kafka_name}"
|
||||
clusterIP: "None"
|
95
kubernetes-templates/kafka/2/rancher-compose.yml
Normal file
95
kubernetes-templates/kafka/2/rancher-compose.yml
Normal file
@ -0,0 +1,95 @@
|
||||
.catalog:
|
||||
name: Kafka
|
||||
version: 0.10.2.1-k8s
|
||||
description: |
|
||||
(Experimental) Apache Kafka cluster.
|
||||
minimum_rancher_version: v0.59.0
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
uuid: kafka-0
|
||||
questions:
|
||||
- variable: "kafka_name"
|
||||
description: "Name of kafka rc and service."
|
||||
label: "K8s rc name:"
|
||||
required: true
|
||||
default: "kafka"
|
||||
type: "string"
|
||||
- variable: "kafka_namespace"
|
||||
description: "Name of kafka namespace."
|
||||
label: "K8s namespace:"
|
||||
required: true
|
||||
default: "default"
|
||||
type: "string"
|
||||
- variable: "kafka_scale"
|
||||
description: "Number of brokers nodes. Note: Recommended an odd number"
|
||||
label: "Broker Nodes:"
|
||||
required: true
|
||||
default: 3
|
||||
type: "int"
|
||||
- variable: "kafka_mem"
|
||||
description: "Amount of memory to config brokers."
|
||||
label: "Broker Memory (mb):"
|
||||
required: true
|
||||
default: 1024
|
||||
type: "string"
|
||||
- variable: "kafka_log_dir"
|
||||
description: "Broker volume to log data"
|
||||
label: "Broker log volume:"
|
||||
required: true
|
||||
default: "/opt/kafka/logs"
|
||||
type: "string"
|
||||
- variable: "kafka_log_retention"
|
||||
description: "Broker log retention in hours"
|
||||
label: "Broker log retention (h):"
|
||||
required: true
|
||||
default: "168"
|
||||
type: "int"
|
||||
- variable: "kafka_num_partitions"
|
||||
description: "Number of broker partitions"
|
||||
label: "Broker partitions:"
|
||||
required: true
|
||||
default: "1"
|
||||
type: "int"
|
||||
- variable: "kafka_delete_topics"
|
||||
label: "Kafka delete topics:"
|
||||
description: |
|
||||
Enable delete topics in kafka.
|
||||
default: false
|
||||
required: true
|
||||
type: enum
|
||||
options:
|
||||
- false
|
||||
- true
|
||||
- variable: "kafka_interval"
|
||||
description: "Interval to poll/apply configuration changes. 0 to disable"
|
||||
label: "Broker Interval (s):"
|
||||
required: true
|
||||
default: 60
|
||||
type: "int"
|
||||
- variable: "kafka_pub_ip"
|
||||
description: "Advertise local and host public ip"
|
||||
label: "Broker public ip:"
|
||||
default: false
|
||||
required: true
|
||||
type: enum
|
||||
options:
|
||||
- false
|
||||
- true
|
||||
- variable: "zk_link"
|
||||
description: |
|
||||
Choose the Zookeeper service to use.
|
||||
It's really recommended a dedicated zookeeper service just for Kafka.
|
||||
label: "Zookeeper stack/service"
|
||||
default: "default/zookeeper"
|
||||
required: true
|
||||
type: "service"
|
||||
broker:
|
||||
scale: ${kafka_scale}
|
||||
retain_ip: true
|
||||
health_check:
|
||||
port: 9092
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: ''
|
||||
healthy_threshold: 2
|
||||
response_timeout: 5000
|
||||
|
@ -1,7 +1,7 @@
|
||||
name: Apache Kafka
|
||||
description: |
|
||||
(Experimental) Kafka cluster
|
||||
version: 0.10.0.1-k8s
|
||||
version: 0.10.2.1-k8s
|
||||
category: Clustering
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
minimum_rancher_version: v0.59.0
|
||||
|
@ -6,6 +6,7 @@
|
||||
re-assembling of raw materials. It may be an elaborate parody of the
|
||||
Australian economy.
|
||||
maintainer: "Rancher"
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: REPLICAS
|
||||
default: 1
|
||||
|
@ -2,6 +2,7 @@
|
||||
name: RabbitMQ
|
||||
version: 3.6.0-rancher1
|
||||
description: A reliable, distributed messaging broker
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: REPLICAS
|
||||
default: 1
|
||||
|
@ -2,6 +2,7 @@
|
||||
name: Redis
|
||||
version: 2.8.23-rancher1
|
||||
description: A highly-available in-memory data structure store
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "REDIS_REPLICAS"
|
||||
label: "Initial number of Redis nodes"
|
||||
|
@ -3,6 +3,7 @@
|
||||
version: 0.1.0-rancher1
|
||||
description: "Spark cluster"
|
||||
maintainer: "Rancher"
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "SPARK_WORKER_REPLICAS"
|
||||
type: "string"
|
||||
|
@ -2,6 +2,7 @@
|
||||
name: "Sysdig Cloud"
|
||||
version: "0.1"
|
||||
description: "Container-Native Application and Infrastructure Monitoring"
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "SDC_ACCESS_KEY"
|
||||
label: "Sysdig Cloud access key"
|
||||
|
@ -4,6 +4,7 @@
|
||||
description: |
|
||||
Traefik load balancer.
|
||||
minimum_rancher_version: v0.59.0
|
||||
maximum_rancher_version: v1.3.99
|
||||
maintainer: "German Ramos <german.ramos@gmail.com>"
|
||||
uuid: traefik-0
|
||||
questions:
|
||||
|
@ -3,6 +3,7 @@
|
||||
description: |
|
||||
Weave Cloud is a add-on to Kubernetes which provides Continuous Delivery, along with hosted Prometheus Monitoring and a visual dashboard for exploring & debugging microservices
|
||||
version: "latest"
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "WEAVE_CLOUD_SERVICE_TOKEN"
|
||||
description: "Service token for your Weave Cloud instance, get one at https://cloud.weave.works"
|
||||
|
@ -2,6 +2,7 @@
|
||||
name: "K8s Example Wordpress"
|
||||
version: "1.0.0"
|
||||
description: ""
|
||||
maximum_rancher_version: v1.3.99
|
||||
questions:
|
||||
- variable: "WP_PASSWORD"
|
||||
label: "Mysql database password"
|
||||
|
@ -4,6 +4,7 @@
|
||||
description: |
|
||||
(Experimental) Apache Zookeeper cluster.
|
||||
minimum_rancher_version: v0.59.0
|
||||
maximum_rancher_version: v1.3.99
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
uuid: zk-0
|
||||
questions:
|
||||
|
@ -4,6 +4,7 @@
|
||||
description: |
|
||||
(Experimental) Apache Zookeeper cluster.
|
||||
minimum_rancher_version: v0.59.0
|
||||
maximum_rancher_version: v1.3.99
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
uuid: zk-0
|
||||
questions:
|
||||
|
@ -17,7 +17,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: "zk-conf"
|
||||
image: "rawmind/k8s-zk:3.4.8-10"
|
||||
image: "rawmind/k8s-zk:3.4.9"
|
||||
volumeMounts:
|
||||
- mountPath: "/opt/tools"
|
||||
name: "zk-conf"
|
||||
@ -40,7 +40,7 @@ spec:
|
||||
ports:
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
- name: "zk-service"
|
||||
image: "rawmind/alpine-zk:3.4.9"
|
||||
image: "rawmind/alpine-zk:3.4.9-3"
|
||||
env:
|
||||
- name: JVMFLAGS
|
||||
value: "-Xmx${zk_mem}m -Xms${zk_mem}m"
|
||||
|
@ -21,3 +21,4 @@ spec:
|
||||
protocol: "TCP"
|
||||
selector:
|
||||
name: "${zk_name}"
|
||||
|
||||
|
@ -4,4 +4,4 @@ description: |
|
||||
version: 3.4.9-k8s1
|
||||
category: Clustering
|
||||
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
||||
projectURL: https://github.com/rawmind0/alpine-zk
|
||||
projectURL: https://github.com/rawmind0/alpine-zk
|
1
machine-templates/cloudca/0/checksum
Normal file
1
machine-templates/cloudca/0/checksum
Normal file
@ -0,0 +1 @@
|
||||
bea9144384d543353b75ed0bea872fbe
|
3
machine-templates/cloudca/0/rancher-compose.yml
Normal file
3
machine-templates/cloudca/0/rancher-compose.yml
Normal file
@ -0,0 +1,3 @@
|
||||
.catalog:
|
||||
name: cloudca
|
||||
version: "v1.0.1"
|
1
machine-templates/cloudca/0/uiUrl
Normal file
1
machine-templates/cloudca/0/uiUrl
Normal file
@ -0,0 +1 @@
|
||||
https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/rancher-ui-driver/v1.0.0/component.js
|
1
machine-templates/cloudca/0/url
Normal file
1
machine-templates/cloudca/0/url
Normal file
@ -0,0 +1 @@
|
||||
https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/docker-machine-driver-cloudca/v1.0.1/docker-machine-driver-cloudca_v1.0.1_linux-amd64.zip
|
1
machine-templates/cloudca/1/checksum
Normal file
1
machine-templates/cloudca/1/checksum
Normal file
@ -0,0 +1 @@
|
||||
100bf1dc97f5016602457ba397433561
|
3
machine-templates/cloudca/1/rancher-compose.yml
Normal file
3
machine-templates/cloudca/1/rancher-compose.yml
Normal file
@ -0,0 +1,3 @@
|
||||
.catalog:
|
||||
name: cloudca
|
||||
version: "v1.0.2"
|
1
machine-templates/cloudca/1/uiUrl
Normal file
1
machine-templates/cloudca/1/uiUrl
Normal file
@ -0,0 +1 @@
|
||||
https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/rancher-ui-driver/v1.0.2/component.js
|
1
machine-templates/cloudca/1/url
Normal file
1
machine-templates/cloudca/1/url
Normal file
@ -0,0 +1 @@
|
||||
https://objects-east.cloud.ca/v1/5ef827605f884961b94881e928e7a250/docker-machine-driver-cloudca/v1.0.2/docker-machine-driver-cloudca_v1.0.2_linux-amd64.zip
|
20
machine-templates/cloudca/catalogIcon-cloudca.svg
Normal file
20
machine-templates/cloudca/catalogIcon-cloudca.svg
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="833pt" height="833pt" viewBox="0 0 833 833" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill="none" d=" M 0.00 0.00 L 833.00 0.00 L 833.00 833.00 L 0.00 833.00 L 0.00 0.00 Z" />
|
||||
<path fill="#515254" d=" M 360.82 95.91 C 365.44 93.10 370.53 90.45 376.10 90.69 C 383.38 91.38 390.89 95.57 393.42 102.77 C 397.80 111.74 393.47 123.46 384.72 127.98 C 349.57 148.16 314.42 168.33 279.21 188.41 C 279.22 188.85 279.24 189.74 279.25 190.18 C 302.89 203.99 326.26 218.27 349.83 232.21 C 353.70 234.50 357.96 236.66 360.47 240.57 C 363.23 244.71 365.15 249.99 363.68 254.96 C 362.17 261.77 356.87 267.86 349.97 269.46 C 345.63 269.98 340.85 270.31 336.91 268.04 C 311.03 252.89 285.48 237.18 259.56 222.08 C 259.45 261.38 259.53 300.68 259.52 339.98 C 259.63 345.13 256.76 349.75 253.41 353.43 C 248.24 358.64 240.11 360.04 233.23 357.89 C 227.10 355.81 222.52 350.42 220.54 344.37 C 219.24 340.33 220.31 336.08 220.13 331.95 C 219.63 315.64 220.12 299.33 220.03 283.03 C 220.35 273.35 219.55 263.67 220.10 253.99 C 219.52 237.34 220.47 220.67 219.89 204.01 C 219.86 195.63 219.91 187.24 219.96 178.86 C 219.87 177.47 220.57 176.17 221.89 175.64 C 268.11 148.92 314.57 122.59 360.82 95.91 Z" />
|
||||
<path fill="#515254" d=" M 420.23 106.84 C 421.94 97.68 430.73 90.66 439.99 90.68 C 446.92 90.95 452.71 95.16 458.48 98.52 C 503.10 124.63 547.71 150.77 592.32 176.93 C 592.34 229.62 592.28 282.32 592.35 335.01 C 593.22 345.47 584.43 355.63 573.97 356.35 C 563.19 357.36 552.50 347.91 552.79 336.94 C 552.80 307.64 552.79 278.34 552.80 249.04 C 552.71 240.34 553.05 231.62 552.40 222.94 C 540.35 229.46 528.95 237.19 517.16 244.19 C 504.53 251.80 492.05 259.66 479.45 267.32 C 473.37 270.64 465.47 270.34 459.83 266.23 C 454.20 262.57 451.18 255.58 451.81 248.97 C 452.34 243.39 455.61 238.35 460.22 235.23 C 478.17 224.12 496.19 213.09 514.18 202.02 C 520.98 197.65 528.15 193.82 534.70 189.06 C 500.00 168.90 465.41 148.53 430.78 128.25 C 423.30 124.25 418.28 115.32 420.23 106.84 Z" />
|
||||
<path fill="#df2d25" d=" M 399.56 257.82 C 408.64 255.43 418.71 257.06 426.40 262.52 C 439.53 271.06 443.99 289.86 436.73 303.60 C 432.20 312.24 423.74 318.88 414.08 320.62 C 407.14 321.34 399.74 321.28 393.49 317.76 C 381.68 312.31 374.57 298.85 376.08 286.02 C 376.69 272.82 386.96 261.15 399.56 257.82 Z" />
|
||||
<path fill="#515254" d=" M 394.33 349.40 C 399.08 343.87 407.28 342.00 414.10 344.34 C 421.31 346.96 426.73 354.22 426.69 361.97 C 426.75 388.24 426.62 414.51 426.75 440.78 C 462.27 419.38 497.56 397.61 533.04 376.15 C 536.34 374.19 540.23 373.59 544.02 373.74 C 552.55 373.76 560.18 380.51 562.23 388.61 C 563.63 394.88 562.20 401.97 557.54 406.57 C 554.17 410.37 549.51 412.54 545.25 415.13 C 501.75 441.72 458.16 468.16 414.64 494.73 C 412.52 495.92 410.54 497.59 408.06 497.93 C 405.08 497.49 402.73 495.40 400.17 493.99 C 356.41 467.64 312.54 441.50 268.80 415.13 C 264.90 412.82 260.77 410.73 257.57 407.47 C 253.75 403.01 251.46 396.97 252.49 391.07 C 253.50 386.08 255.99 381.15 260.25 378.18 C 265.54 374.09 272.96 373.24 279.16 375.58 C 282.42 376.89 285.41 378.78 288.35 380.69 C 315.71 396.93 342.92 413.42 370.23 429.76 C 376.59 433.41 382.69 437.57 389.27 440.83 C 389.31 414.56 389.29 388.28 389.28 362.01 C 389.12 357.32 391.44 352.94 394.33 349.40 Z" />
|
||||
<path fill="#515254" d=" M 130.47 584.24 C 134.00 578.32 137.58 572.43 141.10 566.50 C 150.57 566.48 160.03 566.49 169.50 566.50 C 169.53 593.69 169.48 620.88 169.52 648.06 C 169.60 660.22 179.91 671.32 192.05 672.17 C 197.44 672.36 202.84 672.17 208.24 672.24 C 208.27 680.49 208.25 688.74 208.25 697.00 C 198.85 696.65 189.20 698.26 180.09 695.23 C 163.60 690.52 150.18 676.63 146.11 659.97 C 144.27 653.47 144.81 646.69 144.75 640.03 C 144.75 621.44 144.75 602.85 144.75 584.25 C 139.99 584.24 135.23 584.25 130.47 584.24 Z" />
|
||||
<path fill="#515254" d=" M 500.00 573.75 C 508.25 573.75 516.51 573.74 524.76 573.76 C 524.76 597.53 524.76 621.30 524.77 645.06 C 524.65 662.66 514.81 679.78 499.77 688.88 C 489.78 695.11 477.67 697.78 465.98 696.44 C 448.72 694.65 432.74 683.59 425.00 668.05 C 419.79 658.30 418.18 646.86 419.77 635.97 C 422.12 620.19 431.99 605.67 446.00 597.95 C 462.42 588.39 483.97 589.03 500.00 599.16 C 500.00 590.69 500.00 582.22 500.00 573.75 Z" />
|
||||
<path fill="#515254" d=" M 59.36 597.33 C 73.83 589.23 92.20 588.71 107.18 595.79 C 122.29 602.70 133.81 617.11 136.83 633.50 C 128.19 633.51 119.55 633.51 110.91 633.50 C 108.36 627.70 104.08 622.64 98.53 619.51 C 90.53 614.90 80.17 614.72 71.99 618.99 C 65.28 622.39 60.07 628.61 57.85 635.80 C 54.87 645.55 57.65 656.82 65.03 663.92 C 72.86 671.79 85.51 674.27 95.70 669.82 C 102.62 666.92 108.03 661.10 110.93 654.24 C 119.57 654.24 128.22 654.23 136.86 654.25 C 134.02 668.95 124.70 682.27 111.71 689.77 C 97.09 698.49 78.16 699.49 62.74 692.27 C 52.46 687.60 43.69 679.62 38.34 669.64 C 30.17 655.12 29.54 636.68 36.62 621.61 C 41.34 611.36 49.39 602.66 59.36 597.33 Z" />
|
||||
<path fill="#515254" d=" M 243.44 591.67 C 254.47 589.62 266.23 590.72 276.33 595.78 C 291.83 603.07 303.57 617.97 306.69 634.85 C 308.76 645.90 306.90 657.60 301.57 667.50 C 293.86 682.38 279.07 693.47 262.50 696.26 C 250.67 698.03 238.15 696.18 227.71 690.19 C 213.97 682.67 204.37 668.45 202.01 653.02 C 199.66 638.91 202.87 623.87 211.17 612.17 C 218.72 601.51 230.61 594.05 243.44 591.67 Z" />
|
||||
<path fill="#515254" d=" M 314.76 590.75 C 322.98 590.73 331.21 590.78 339.44 590.72 C 339.59 610.48 339.47 630.24 339.50 650.00 C 339.54 661.18 349.70 671.54 360.92 671.53 C 371.80 670.83 381.44 660.91 381.48 649.94 C 381.57 630.20 381.36 610.45 381.58 590.70 C 389.80 590.81 398.02 590.72 406.25 590.76 C 406.25 626.00 406.25 661.25 406.25 696.50 C 397.99 696.51 389.74 696.51 381.49 696.50 C 381.50 695.66 381.52 693.97 381.54 693.12 C 374.24 696.56 365.98 696.52 358.08 696.41 C 334.25 695.34 313.28 673.01 314.74 648.99 C 314.77 629.58 314.73 610.17 314.76 590.75 Z" />
|
||||
<path fill="#df2d25" d=" M 604.07 596.17 C 618.96 588.78 637.45 589.08 652.08 597.01 C 666.08 604.21 676.34 618.05 679.33 633.50 C 670.67 633.50 662.01 633.56 653.36 633.47 C 649.82 625.19 642.38 618.59 633.55 616.59 C 626.78 615.18 619.45 616.01 613.44 619.56 C 603.76 624.82 597.82 636.17 599.31 647.14 C 600.57 660.08 611.92 671.06 624.89 671.92 C 636.99 673.18 648.93 665.45 653.37 654.25 C 662.03 654.21 670.68 654.24 679.34 654.23 C 676.52 668.53 667.74 681.62 655.19 689.14 C 641.01 698.07 622.49 699.58 607.05 693.10 C 595.86 688.55 586.33 680.04 580.63 669.38 C 572.05 653.90 572.05 634.05 580.60 618.56 C 585.82 608.88 594.14 600.91 604.07 596.17 Z" />
|
||||
<path fill="#df2d25" d=" M 715.08 597.18 C 729.64 589.18 748.09 588.70 763.02 595.98 C 780.96 604.21 793.10 623.36 793.13 643.06 C 793.38 660.97 793.26 678.89 793.19 696.81 C 784.87 696.72 776.55 696.80 768.24 696.76 C 768.22 694.11 768.22 691.46 768.23 688.82 C 758.65 694.73 747.21 697.58 735.99 696.61 C 718.54 695.31 701.99 684.78 693.69 669.33 C 687.11 657.45 685.47 643.00 689.06 629.92 C 692.78 616.06 702.39 603.91 715.08 597.18 Z" />
|
||||
<path fill="#fefefe" d=" M 246.49 616.59 C 262.70 611.62 280.14 624.98 282.40 641.10 C 283.90 654.55 273.48 667.00 261.11 671.01 C 247.61 675.13 232.01 666.73 227.83 653.30 C 222.24 638.70 231.23 620.48 246.49 616.59 Z" />
|
||||
<path fill="#fefefe" d=" M 466.42 616.61 C 481.20 613.15 497.11 624.20 499.44 639.10 C 502.07 652.13 493.81 666.05 481.26 670.25 C 472.32 673.46 461.79 671.72 454.45 665.66 C 446.90 659.62 442.83 649.44 444.39 639.87 C 446.01 628.58 455.15 618.71 466.42 616.61 Z" />
|
||||
<path fill="#fefefe" d=" M 732.51 616.82 C 746.22 612.52 762.04 620.82 766.58 634.36 C 771.15 646.22 766.15 660.67 755.37 667.33 C 745.99 673.64 732.65 673.30 723.71 666.34 C 713.80 659.28 709.57 645.35 714.07 634.02 C 717.10 625.83 724.17 619.31 732.51 616.82 Z" />
|
||||
<path fill="#df2d25" d=" M 544.31 661.24 C 552.42 658.91 561.66 662.86 565.49 670.40 C 569.22 677.36 567.74 686.59 562.02 692.05 C 555.93 698.21 545.39 698.92 538.46 693.76 C 531.27 688.81 528.81 678.37 532.86 670.68 C 535.07 666.06 539.38 662.57 544.31 661.24 Z" />
|
||||
</svg>
|
After Width: | Height: | Size: 8.0 KiB |
2
machine-templates/cloudca/config.yml
Normal file
2
machine-templates/cloudca/config.yml
Normal file
@ -0,0 +1,2 @@
|
||||
name: cloudca
|
||||
version: "v1.0.2"
|
1
machine-templates/ecl/0/checksum
Normal file
1
machine-templates/ecl/0/checksum
Normal file
@ -0,0 +1 @@
|
||||
ff59f432259784194a296837069154b7
|
3
machine-templates/ecl/0/rancher-compose.yml
Normal file
3
machine-templates/ecl/0/rancher-compose.yml
Normal file
@ -0,0 +1,3 @@
|
||||
.catalog:
|
||||
name: ecl
|
||||
version: "v1.0.0"
|
1
machine-templates/ecl/0/uiUrl
Normal file
1
machine-templates/ecl/0/uiUrl
Normal file
@ -0,0 +1 @@
|
||||
https://mittz.github.io/rancher/uidbinary/v1.0.0/component.js
|
1
machine-templates/ecl/0/url
Normal file
1
machine-templates/ecl/0/url
Normal file
@ -0,0 +1 @@
|
||||
https://github.com/mittz/docker-machine-driver-ecl/releases/download/v1.0.0/docker-machine-driver-ecl-v1.0.0-linux-amd64.tar.gz
|
159
machine-templates/ecl/catalogIcon-ecl.svg
Normal file
159
machine-templates/ecl/catalogIcon-ecl.svg
Normal file
@ -0,0 +1,159 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<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" width="256px" height="256px" viewBox="0 0 256 256" enable-background="new 0 0 256 256" xml:space="preserve"> <image id="image0" width="256" height="256" x="0" y="0"
|
||||
xlink:href="data:image/png;base64,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
|
||||
ZWFkeXHJZTwAAAAASUVORK5CYII=" />
|
||||
</svg>
|
After Width: | Height: | Size: 12 KiB |
2
machine-templates/ecl/config.yml
Normal file
2
machine-templates/ecl/config.yml
Normal file
@ -0,0 +1,2 @@
|
||||
name: ecl
|
||||
version: "v1.0.0"
|
3
machine-templates/interoutevdc/1/rancher-compose.yml
Normal file
3
machine-templates/interoutevdc/1/rancher-compose.yml
Normal file
@ -0,0 +1,3 @@
|
||||
.catalog:
|
||||
name: "interoutevdc"
|
||||
version: "0.2.0"
|
1
machine-templates/interoutevdc/1/uiUrl
Normal file
1
machine-templates/interoutevdc/1/uiUrl
Normal file
@ -0,0 +1 @@
|
||||
https://myservices.interoute.com/rancher/component.js
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user