Updated infoblox package
This commit is contained in:
parent
4e255f2825
commit
729ff392dd
57
infra-templates/infoblox/2/README.md
Normal file
57
infra-templates/infoblox/2/README.md
Normal file
@ -0,0 +1,57 @@
|
||||
## Infoblox DNS
|
||||
|
||||
Rancher External DNS service powered by Infoblox DNS
|
||||
|
||||
#### Usage
|
||||
|
||||
##### Infloblox Password
|
||||
|
||||
Infoblox password could be provided in 2 ways, depending what you set at `Infoblox password type` enum:
|
||||
|
||||
- `env` by environment var.
|
||||
|
||||
Infoblox password is provided at `Infoblox password | secret name` field. This generates an enviroment variable inside container, `INFOBLOX_PASSWORD`, that contains the password in CLEAR.
|
||||
|
||||
- `secret` by rancher secret.
|
||||
|
||||
Infoblox password is provided by a Rancher Secret to secure it. Secret name is provided at `Infoblox password | secret name` field.
|
||||
|
||||
Previous steps are required to use rancher secrets:
|
||||
1. Deploy Rancher Secrets service from library catalog, before deploying this stack.
|
||||
2. Create a rancher secret with your infoblox password. From ui, `Infrastructure -> Secrets`.
|
||||
3. Deploy this stack, setting `Infoblox password type` enum to `secret` and setting `Infoblox password | secret name` field to previously created secret name.
|
||||
|
||||
##### 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.
|
32
infra-templates/infoblox/2/docker-compose.yml.tpl
Normal file
32
infra-templates/infoblox/2/docker-compose.yml.tpl
Normal file
@ -0,0 +1,32 @@
|
||||
version: '2'
|
||||
services:
|
||||
infoblox:
|
||||
image: rancher/external-dns:v0.7.10
|
||||
command: -provider=infoblox {{if eq .Values.DEBUG_MODE "true" -}}-debug{{- end}}
|
||||
expose:
|
||||
- 1000
|
||||
labels:
|
||||
io.rancher.container.create_agent: "true"
|
||||
io.rancher.container.agent.role: "external-dns"
|
||||
environment:
|
||||
INFOBLOX_URL: ${INFOBLOX_URL}
|
||||
INFOBLOX_USER_NAME: ${INFOBLOX_USER_NAME}
|
||||
ROOT_DOMAIN: ${ROOT_DOMAIN}
|
||||
SSL_VERIFY: ${SSL_VERIFY}
|
||||
USE_COOKIES: ${USE_COOKIES}
|
||||
TTL: ${TTL}
|
||||
{{- if eq .Values.INFOBLOX_PASSWORD_TYPE "env"}}
|
||||
INFOBLOX_PASSWORD: ${INFOBLOX_PASSWORD}
|
||||
{{- else}}
|
||||
INFOBLOX_PASSWORD: ''
|
||||
INFOBLOX_SECRET: '/run/secrets/${INFOBLOX_PASSWORD}'
|
||||
secrets:
|
||||
- mode: '0444'
|
||||
uid: '0'
|
||||
gid: '0'
|
||||
source: '${INFOBLOX_PASSWORD}'
|
||||
target: ''
|
||||
secrets:
|
||||
{{- .Values.INFOBLOX_PASSWORD}}:
|
||||
external: 'true'
|
||||
{{- end}}
|
77
infra-templates/infoblox/2/rancher-compose.yml
Normal file
77
infra-templates/infoblox/2/rancher-compose.yml
Normal file
@ -0,0 +1,77 @@
|
||||
# notemplating
|
||||
.catalog:
|
||||
name: "Infoblox DNS"
|
||||
version: "v0.2.1"
|
||||
description: "Rancher External DNS service powered by Infoblox"
|
||||
minimum_rancher_version: v1.6.0
|
||||
questions:
|
||||
- variable: "INFOBLOX_URL"
|
||||
label: "Infoblox url"
|
||||
description: "Infoblox url for your Infoblox service"
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "INFOBLOX_USER_NAME"
|
||||
label: "Infoblox user name"
|
||||
description: "Infoblox user name for your Infoblox service"
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "INFOBLOX_PASSWORD_TYPE"
|
||||
label: "Infoblox password type"
|
||||
description: "How infoblox password is provided by environment var or by rancher secret"
|
||||
required: true
|
||||
default: env
|
||||
type: enum
|
||||
options:
|
||||
- env
|
||||
- secret
|
||||
- variable: "INFOBLOX_PASSWORD"
|
||||
label: "Infoblox password | secret name"
|
||||
description: "Infoblox password or secret name for your Infoblox service "
|
||||
type: "string"
|
||||
required: true
|
||||
- variable: "ROOT_DOMAIN"
|
||||
label: "Infoblox zone"
|
||||
description: "The DNS zone name (root domain) managed by Infoblox. DNS entries will be created for <service>.<stack>.<environment>.<domain>"
|
||||
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: 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: true
|
||||
- variable: "DEBUG_MODE"
|
||||
label: "Debug mode"
|
||||
description: "Activate debug mode"
|
||||
type: "boolean"
|
||||
required: true
|
||||
default: false
|
||||
- variable: "SSL_VERIFY"
|
||||
label: "Ssl verify"
|
||||
description: "Infoblox Ssl verify for your Infoblox service"
|
||||
type: "boolean"
|
||||
required: true
|
||||
- variable: "USE_COOKIES"
|
||||
label: "Use cookies"
|
||||
description: "Uses cookies if specified, re-creating the request and falling back to basic auth if a cookie is not present"
|
||||
type: "boolean"
|
||||
required: true
|
||||
infoblox:
|
||||
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: Infoblox DNS
|
||||
description: |
|
||||
Rancher External DNS service powered by Infoblox
|
||||
version: v0.2.0
|
||||
version: v0.2.1
|
||||
category: External DNS
|
||||
labels:
|
||||
io.rancher.orchestration.supported: 'cattle,mesos,swarm,kubernetes'
|
||||
|
Loading…
x
Reference in New Issue
Block a user