209 lines
6.0 KiB
YAML
209 lines
6.0 KiB
YAML
version: '2'
|
|
catalog:
|
|
name: traefik
|
|
version: v1.4.0-rancher1
|
|
description: |
|
|
Traefik load balancer.
|
|
minimum_rancher_version: v0.59.0
|
|
maintainer: "Raul Sanchez <rawmind@gmail.com>"
|
|
uuid: traefik-0
|
|
questions:
|
|
- variable: "rancher_integration"
|
|
label: "Choose rancher integration:"
|
|
description: |
|
|
Enable rancher integration mode. Traefik built in integration, metadata or api, or external sidekick integration with confd.
|
|
default: metadata
|
|
required: true
|
|
type: enum
|
|
options:
|
|
- metadata
|
|
- api
|
|
- external
|
|
- variable: "host_label"
|
|
description: "Host label where to run traefik service."
|
|
label: "Host label:"
|
|
required: true
|
|
default: "traefik_lb=true"
|
|
type: "string"
|
|
- variable: "http_port"
|
|
description: "Traefik http public port to listen."
|
|
label: "Http port:"
|
|
required: true
|
|
default: 8080
|
|
type: "int"
|
|
- variable: "https_port"
|
|
description: "Traefik https public port to listen."
|
|
label: "Https port:"
|
|
required: true
|
|
default: 8443
|
|
type: "int"
|
|
- variable: "admin_port"
|
|
description: "Traefik admin public port to listen."
|
|
label: "Admin port:"
|
|
required: true
|
|
default: 8000
|
|
type: "int"
|
|
- variable: "https_enable"
|
|
label: "Https enable:"
|
|
description: |
|
|
Enable https working mode. If you activate, you need to fill SSL key and SSL crt in order to work.
|
|
default: false
|
|
required: true
|
|
type: enum
|
|
options:
|
|
- false
|
|
- true
|
|
- only
|
|
- variable: "acme_enable"
|
|
description: "Enable acme support on traefik."
|
|
label: "ACME enable:"
|
|
required: true
|
|
default: false
|
|
type: "boolean"
|
|
- variable: "acme_email"
|
|
description: "ACME user email."
|
|
label: "ACME email:"
|
|
required: true
|
|
default: "test@traefik.io"
|
|
type: "string"
|
|
- variable: "acme_ondemand"
|
|
description: "Enable acme ondemand."
|
|
label: "ACME ondemand:"
|
|
required: true
|
|
default: true
|
|
type: "boolean"
|
|
- variable: "acme_onhostrule"
|
|
description: "Enable acme onHostRule."
|
|
label: "ACME onHostRule:"
|
|
required: true
|
|
default: true
|
|
type: "boolean"
|
|
- variable: "acme_caserver"
|
|
description: "ACME caServer to use."
|
|
label: "ACME caServer:"
|
|
required: true
|
|
default: "https://acme-v01.api.letsencrypt.org/directory"
|
|
type: "string"
|
|
- variable: "acme_vol_name"
|
|
description: "The volume name shared to store ACME certs"
|
|
label: "ACME Volume Name"
|
|
required: true
|
|
default: "traefik_acme_vol"
|
|
type: "string"
|
|
- variable: "acme_vol_driver"
|
|
description: "The volume driver shared to store ACME certs"
|
|
label: "ACME Volume Driver"
|
|
required: true
|
|
default: "local"
|
|
type: enum
|
|
options: # List of options if using type of `enum`
|
|
- local
|
|
- rancher-nfs
|
|
- rancher-efs
|
|
- rancher-ebs
|
|
- variable: "ssl_key"
|
|
description: "SSL key to secure the service. *Required if you enable https"
|
|
label: "Https key"
|
|
type: "multiline"
|
|
required: false
|
|
default: ""
|
|
- variable: "ssl_crt"
|
|
description: "SSL cert to secure the service. *Required if you enable https"
|
|
label: "Https crt"
|
|
type: "multiline"
|
|
required: false
|
|
default: ""
|
|
- variable: "insecure_skip"
|
|
description: "Enable InsecureSkipVerify param."
|
|
label: "InsecureSkipVerify:"
|
|
required: true
|
|
default: false
|
|
type: "boolean"
|
|
- variable: "compress_enable"
|
|
label: "Enable compression:"
|
|
description: |
|
|
Enable Traefik compression for entrypoints.
|
|
default: true
|
|
required: true
|
|
type: "boolean"
|
|
- variable: "refresh_interval"
|
|
description: "Interval to poll/apply configuration changes."
|
|
label: "Refresh Interval (s):"
|
|
required: true
|
|
default: 10
|
|
type: "int"
|
|
- variable: "admin_readonly"
|
|
label: "Admin readonly:"
|
|
description: |
|
|
Set admin to readonly mode.
|
|
default: false
|
|
required: true
|
|
type: "boolean"
|
|
- variable: "admin_statistics"
|
|
description: "Enable more detailed statistics."
|
|
label: "Admin statistics history:"
|
|
required: true
|
|
default: 10
|
|
type: "int"
|
|
- variable: "admin_auth_method"
|
|
description: "Admin auth method on the webui."
|
|
label: "Admin auth method:"
|
|
required: true
|
|
default: "basic"
|
|
type: enum
|
|
options: # List of options if using type of `enum`
|
|
- basic
|
|
- digest
|
|
- variable: "admin_users"
|
|
description: "Admin auth user list on the webui. Generate with htpassword for basic or htdigest with traefik realm for digest."
|
|
label: "Admin users:"
|
|
type: "multiline"
|
|
required: false
|
|
default: ""
|
|
- variable: "prometheus_enable"
|
|
description: "To enable statistics to be pulled by Prometheus."
|
|
label: "Prometheus enable"
|
|
default: false
|
|
required: true
|
|
type: "boolean"
|
|
- variable: "prometheus_buckets"
|
|
description: "To define your own buckets"
|
|
label: "Prometheus buckets"
|
|
default: "[0.1,0.3,1.2,5.0]"
|
|
required: true
|
|
type: "string"
|
|
- variable: "cattle_url"
|
|
description: "API cattle url"
|
|
label: "Cattle URL"
|
|
default: ""
|
|
required: false
|
|
type: "string"
|
|
- variable: "cattle_access_key"
|
|
description: "API environment access key"
|
|
label: "Cattle access key"
|
|
default: ""
|
|
required: false
|
|
type: "string"
|
|
- variable: "cattle_secret_key"
|
|
description: "API environment secret key"
|
|
label: "Cattle secret key"
|
|
default: ""
|
|
required: false
|
|
type: "string"
|
|
services:
|
|
traefik:
|
|
retain_ip: true
|
|
health_check:
|
|
healthy_threshold: 2
|
|
response_timeout: 5000
|
|
port: 8000
|
|
unhealthy_threshold: 3
|
|
interval: 5000
|
|
strategy: recreate
|
|
metadata:
|
|
traefik:
|
|
ssl_key: |
|
|
${ssl_key}
|
|
ssl_crt: |
|
|
${ssl_crt}
|