Copied from rancher community catalog as starting point
This commit is contained in:
11
templates/BInd9/0/docker-compose.yml
Normal file
11
templates/BInd9/0/docker-compose.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
bind9:
|
||||
image: digitallumberjack/docker-bind9:v1.2.0
|
||||
ports:
|
||||
- ${BIND9_PORT}:53/tcp
|
||||
- ${BIND9_PORT}:53/udp
|
||||
environment:
|
||||
BIND9_ROOTDOMAIN: ${BIND9_ROOTDOMAIN}
|
||||
BIND9_KEYNAME: ${BIND9_KEYNAME}
|
||||
BIND9_KEY: ${BIND9_KEY}
|
||||
BIND9_FORWARDERS: ${BIND9_FORWARDERS}
|
||||
RANCHER_ENV: "true"
|
||||
48
templates/BInd9/0/rancher-compose.yml
Normal file
48
templates/BInd9/0/rancher-compose.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
.catalog:
|
||||
name: "Bind9 DNS"
|
||||
version: "v1.0.0-rancher1"
|
||||
description: "Domain Name Server powered by Bind9"
|
||||
questions:
|
||||
|
||||
- variable: "BIND9_ROOTDOMAIN"
|
||||
label: "The root domain to manage in bind9"
|
||||
description: "This root domain will be managed by the Bind9 server. Updates and axfr requests will be made on this domain"
|
||||
type: "string"
|
||||
required: true
|
||||
|
||||
- variable: "BIND9_KEYNAME"
|
||||
label: "Bind9 TSIG Keyname"
|
||||
description: "The TSIG keyname"
|
||||
type: "string"
|
||||
required: true
|
||||
|
||||
- variable: "BIND9_KEY"
|
||||
label: "Bind9 TSIG Key (base64 encoded)"
|
||||
description: "The TSIG key. Must be base64 encoded"
|
||||
type: "string"
|
||||
required: true
|
||||
|
||||
- variable: "BIND9_PORT"
|
||||
label: "Bind9 port"
|
||||
description: "Bind9 port to expose on host. Will be used to bind both TCP and UDP"
|
||||
type: "string"
|
||||
default: 53
|
||||
required: true
|
||||
|
||||
- variable: "BIND9_FORWARDERS"
|
||||
label: "Bind9 dns forwarders"
|
||||
description: "The DNS forwarders"
|
||||
type: "string"
|
||||
default: 8.8.8.8;8.8.4.4;
|
||||
required: true
|
||||
|
||||
bind9:
|
||||
scale: 1
|
||||
health_check:
|
||||
port: ${BIND9_PORT}
|
||||
interval: 2000
|
||||
initializing_timeout: 20000
|
||||
unhealthy_threshold: 3
|
||||
strategy: recreate
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
||||
4
templates/Ghost/0/docker-compose.yml
Normal file
4
templates/Ghost/0/docker-compose.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
ghost:
|
||||
image: ghost
|
||||
ports:
|
||||
- ${public_port}:2368
|
||||
15
templates/Ghost/0/rancher-compose.yml
Normal file
15
templates/Ghost/0/rancher-compose.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
.catalog:
|
||||
name: "Ghost"
|
||||
version: "v0.1-educaas"
|
||||
description: "Blog powered by Ghost. Requires no database"
|
||||
uuid: ghost-0
|
||||
questions:
|
||||
|
||||
- variable: public_port
|
||||
description: "public port to access the blog"
|
||||
label: "Public Port"
|
||||
required: true
|
||||
default: "80"
|
||||
type: "int"
|
||||
|
||||
ghost:
|
||||
9
templates/Grafana/0/docker-compose.yml
Normal file
9
templates/Grafana/0/docker-compose.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
grafana:
|
||||
image: grafana/grafana:4.2.0
|
||||
ports:
|
||||
- ${http_port}:3000
|
||||
environment:
|
||||
GF_SECURITY_ADMIN_USER: ${admin_username}
|
||||
GF_SECURITY_ADMIN_PASSWORD: ${admin_password}
|
||||
GF_SECURITY_SECRET_KEY: ${secret_key}
|
||||
GF_INSTALL_PLUGINS: ${install_plugins}
|
||||
41
templates/Grafana/0/rancher-compose.yml
Normal file
41
templates/Grafana/0/rancher-compose.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
.catalog:
|
||||
name: "Grafana"
|
||||
version: "4.2.0-rancher2"
|
||||
questions:
|
||||
|
||||
- variable: http_port
|
||||
description: "http port to access Grafana"
|
||||
label: "Http Port"
|
||||
required: true
|
||||
default: "3000"
|
||||
type: "int"
|
||||
|
||||
- variable: admin_username
|
||||
description: "Grafana admin username"
|
||||
label: "Admin Username"
|
||||
required: true
|
||||
default: "admin"
|
||||
type: "string"
|
||||
|
||||
- variable: admin_password
|
||||
description: "Grafana admin password"
|
||||
label: "Admin Password"
|
||||
required: true
|
||||
default: "password"
|
||||
type: "string"
|
||||
|
||||
- variable: secret_key
|
||||
description: "Signing secret key"
|
||||
label: "Secret Key"
|
||||
required: true
|
||||
default: "su2Tong2zoocie"
|
||||
type: "string"
|
||||
|
||||
- variable: install_plugins
|
||||
description: "Include/Install Grafana Plugins (comma-separated plugin-ids)"
|
||||
label: "Install Plugins"
|
||||
required: false
|
||||
default: "grafana-clock-panel"
|
||||
type: "string"
|
||||
|
||||
grafana:
|
||||
49
templates/Guacamole/0/docker-compose.yml
Normal file
49
templates/Guacamole/0/docker-compose.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
database-data:
|
||||
image: busybox
|
||||
labels:
|
||||
io.rancher.container.start_once: 'true'
|
||||
net: none
|
||||
entrypoint: /bin/true
|
||||
volumes:
|
||||
- /var/lib/mysql
|
||||
- /docker-entrypoint-initdb.d
|
||||
database:
|
||||
image: mariadb
|
||||
environment:
|
||||
MYSQL_DATABASE: ${guacamole_db}
|
||||
MYSQL_ONETIME_PASSWORD: 'true'
|
||||
MYSQL_PASSWORD: ${guacamole_password}
|
||||
MYSQL_RANDOM_ROOT_PASSWORD: 'true'
|
||||
MYSQL_USER: ${guacamole_user}
|
||||
volumes_from:
|
||||
- database-data
|
||||
labels:
|
||||
io.rancher.sidekicks: setup-get-db-script, database-data
|
||||
setup-get-db-script:
|
||||
image: glyptodon/guacamole:0.9.10-incubating
|
||||
net: none
|
||||
volumes_from:
|
||||
- database-data
|
||||
command:
|
||||
- bash
|
||||
- -c
|
||||
- /opt/guacamole/bin/initdb.sh --mysql > /docker-entrypoint-initdb.d/initdb.sql
|
||||
labels:
|
||||
io.rancher.container.start_once: 'true'
|
||||
guacd:
|
||||
image: glyptodon/guacd:0.9.10-incubating
|
||||
guacamole:
|
||||
image: glyptodon/guacamole:0.9.10-incubating
|
||||
environment:
|
||||
MYSQL_DATABASE: ${guacamole_db}
|
||||
MYSQL_HOSTNAME: database
|
||||
MYSQL_PASSWORD: ${guacamole_password}
|
||||
MYSQL_USER: ${guacamole_user}
|
||||
links:
|
||||
- guacd:guacd
|
||||
ports:
|
||||
- ${public_port}:8080/tcp
|
||||
command:
|
||||
- /bin/bash
|
||||
- -c
|
||||
- cd /usr/local/tomcat/webapps;rm -rf ROOT/; ln -s guacamole.war ROOT.war; /opt/guacamole/bin/start.sh;
|
||||
73
templates/Guacamole/0/rancher-compose.yml
Normal file
73
templates/Guacamole/0/rancher-compose.yml
Normal file
@@ -0,0 +1,73 @@
|
||||
version: '2'
|
||||
.catalog:
|
||||
name: "apache-guacamole"
|
||||
version: "0.1-rancher1"
|
||||
description: " Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH."
|
||||
minimum_rancher_version: v0.46.0
|
||||
questions:
|
||||
|
||||
- variable: "guacamole_db"
|
||||
label: "MySQL Database Name"
|
||||
description: "Your MYSQL guacamole database name"
|
||||
default: "guacamole_db"
|
||||
required: true
|
||||
type: "string"
|
||||
|
||||
- variable: "guacamole_user"
|
||||
label: "MySQL Database User"
|
||||
description: "Your MYSQL guacamole user name"
|
||||
required: true
|
||||
default: "guacamole_user"
|
||||
type: "string"
|
||||
|
||||
- variable: "guacamole_password"
|
||||
label: "MySQL Database Password"
|
||||
description: "Your MYSQL guacamole user password. Defaults to \"guacamole_password\""
|
||||
required: true
|
||||
default: "guacamole_password"
|
||||
type: "password"
|
||||
|
||||
- variable: "public_port"
|
||||
label: "Public Port"
|
||||
description: "The public port that Guacamole listens on, defaults to 8080"
|
||||
required: true
|
||||
default: 8080
|
||||
type: "int"
|
||||
|
||||
services:
|
||||
guacamole:
|
||||
scale: 1
|
||||
health_check:
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
||||
port: 8080
|
||||
unhealthy_threshold: 3
|
||||
initializing_timeout: 60000
|
||||
interval: 2000
|
||||
strategy: recreate
|
||||
request_line: GET "/guacamole" "HTTP/1.0"
|
||||
reinitializing_timeout: 60000
|
||||
guacd:
|
||||
scale: 1
|
||||
health_check:
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
||||
port: 4822
|
||||
unhealthy_threshold: 3
|
||||
initializing_timeout: 60000
|
||||
interval: 2000
|
||||
strategy: recreate
|
||||
reinitializing_timeout: 60000
|
||||
setup-get-db-script:
|
||||
scale: 1
|
||||
database:
|
||||
scale: 1
|
||||
health_check:
|
||||
healthy_threshold: 2
|
||||
response_timeout: 2000
|
||||
port: 3306
|
||||
unhealthy_threshold: 3
|
||||
initializing_timeout: 60000
|
||||
interval: 2000
|
||||
strategy: recreate
|
||||
reinitializing_timeout: 60000
|
||||
20
templates/Jenkins-CI/0/docker-compose.yml
Normal file
20
templates/Jenkins-CI/0/docker-compose.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
jenkins-primary:
|
||||
image: "jenkins/jenkins:2.92"
|
||||
ports:
|
||||
- "${PORT}:8080"
|
||||
labels:
|
||||
io.rancher.sidekicks: jenkins-plugins,jenkins-datavolume
|
||||
io.rancher.container.hostname_override: container_name
|
||||
volumes_from:
|
||||
- jenkins-plugins
|
||||
- jenkins-datavolume
|
||||
entrypoint: /usr/share/jenkins/rancher/jenkins.sh
|
||||
jenkins-plugins:
|
||||
image: rancher/jenkins-plugins:v0.1.1
|
||||
jenkins-datavolume:
|
||||
image: "busybox"
|
||||
volumes:
|
||||
- ${volume_work}:/var/jenkins_home
|
||||
labels:
|
||||
io.rancher.container.start_once: true
|
||||
entrypoint: ["chown", "-R", "1000:1000", "/var/jenkins_home"]
|
||||
44
templates/Jenkins-CI/0/rancher-compose.yml
Normal file
44
templates/Jenkins-CI/0/rancher-compose.yml
Normal file
@@ -0,0 +1,44 @@
|
||||
.catalog:
|
||||
name: Jenkins
|
||||
version: 2.92-rancher1
|
||||
questions:
|
||||
|
||||
- variable: "PORT"
|
||||
type: "int"
|
||||
label: "Port Number"
|
||||
description: "Which port should Jenkins listen on?"
|
||||
default: 8080
|
||||
required: true
|
||||
|
||||
- variable: "volume_work"
|
||||
description: "Work volume to save jenkins data"
|
||||
label: "Work volume:"
|
||||
required: true
|
||||
default: "/var/lib/docker/jenkins-ci"
|
||||
type: "string"
|
||||
|
||||
- variable: "plugins"
|
||||
type: "multiline"
|
||||
label: "List of Plugins"
|
||||
description: |
|
||||
List of plugins in the format <plugin_name>[:<version>]
|
||||
one entry per line.
|
||||
default: |
|
||||
credentials
|
||||
git
|
||||
git-client
|
||||
github
|
||||
github-api
|
||||
github-oauth
|
||||
greenballs
|
||||
junit
|
||||
plain-credentials
|
||||
scm-api
|
||||
ssh-credentials
|
||||
ssh-slaves
|
||||
swarm
|
||||
|
||||
jenkins-primary:
|
||||
metadata:
|
||||
plugins: |
|
||||
${plugins}
|
||||
62
templates/LetsEncrypt/0/docker-compose.yml
Normal file
62
templates/LetsEncrypt/0/docker-compose.yml
Normal file
@@ -0,0 +1,62 @@
|
||||
version: '2'
|
||||
services:
|
||||
letsencrypt:
|
||||
image: janeczku/rancher-letsencrypt:v0.5.0
|
||||
environment:
|
||||
EULA: "${EULA}"
|
||||
API_VERSION: "${API_VERSION}"
|
||||
CERT_NAME: "${CERT_NAME}"
|
||||
EMAIL: "${EMAIL}"
|
||||
DOMAINS: "${DOMAINS}"
|
||||
PUBLIC_KEY_TYPE: "${PUBLIC_KEY_TYPE}"
|
||||
RENEWAL_TIME: "${RENEWAL_TIME}"
|
||||
PROVIDER: "${PROVIDER}"
|
||||
DNS_RESOLVERS: "${DNS_RESOLVERS}"
|
||||
RENEWAL_PERIOD_DAYS: "${RENEWAL_PERIOD_DAYS}"
|
||||
RUN_ONCE: "${RUN_ONCE}"
|
||||
CLOUDFLARE_EMAIL: "${CLOUDFLARE_EMAIL}"
|
||||
CLOUDFLARE_KEY: "${CLOUDFLARE_KEY}"
|
||||
DO_ACCESS_TOKEN: "${DO_ACCESS_TOKEN}"
|
||||
AWS_ACCESS_KEY: "${AWS_ACCESS_KEY}"
|
||||
AWS_SECRET_KEY: "${AWS_SECRET_KEY}"
|
||||
DNSIMPLE_EMAIL: "${DNSIMPLE_EMAIL}"
|
||||
DNSIMPLE_KEY: "${DNSIMPLE_KEY}"
|
||||
DYN_CUSTOMER_NAME: "${DYN_CUSTOMER_NAME}"
|
||||
DYN_USER_NAME: "${DYN_USER_NAME}"
|
||||
DYN_PASSWORD: "${DYN_PASSWORD}"
|
||||
VULTR_API_KEY: "${VULTR_API_KEY}"
|
||||
OVH_APPLICATION_KEY: "${OVH_APPLICATION_KEY}"
|
||||
OVH_APPLICATION_SECRET: "${OVH_APPLICATION_SECRET}"
|
||||
OVH_CONSUMER_KEY: "${OVH_CONSUMER_KEY}"
|
||||
GANDI_API_KEY: "${GANDI_API_KEY}"
|
||||
AZURE_CLIENT_ID: "${AZURE_CLIENT_ID}"
|
||||
AZURE_CLIENT_SECRET: "${AZURE_CLIENT_SECRET}"
|
||||
AZURE_SUBSCRIPTION_ID: "${AZURE_SUBSCRIPTION_ID}"
|
||||
AZURE_TENANT_ID: "${AZURE_TENANT_ID}"
|
||||
AZURE_RESOURCE_GROUP: "${AZURE_RESOURCE_GROUP}"
|
||||
AURORA_USER_ID: "${AURORA_USER_ID}"
|
||||
AURORA_KEY: "${AURORA_KEY}"
|
||||
AURORA_ENDPOINT: "${AURORA_ENDPOINT}"
|
||||
NS1_API_KEY: "${NS1_API_KEY}"
|
||||
volumes:
|
||||
- /var/lib/rancher:/var/lib/rancher
|
||||
{{- if .Values.VOLUME_NAME}}
|
||||
- {{.Values.VOLUME_NAME}}:/etc/letsencrypt
|
||||
{{- end }}
|
||||
labels:
|
||||
io.rancher.container.create_agent: "true"
|
||||
io.rancher.container.agent.role: "environment"
|
||||
{{- if eq .Values.RUN_ONCE "true" }}
|
||||
io.rancher.container.start_once: "true"
|
||||
{{- end }}
|
||||
{{- if .Values.VOLUME_NAME}}
|
||||
volumes:
|
||||
{{.Values.VOLUME_NAME}}:
|
||||
{{- if .Values.STORAGE_DRIVER}}
|
||||
driver: {{.Values.STORAGE_DRIVER}}
|
||||
{{- if .Values.STORAGE_DRIVER_OPT}}
|
||||
driver_opts:
|
||||
{{.Values.STORAGE_DRIVER_OPT}}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
281
templates/LetsEncrypt/0/rancher-compose.yml
Normal file
281
templates/LetsEncrypt/0/rancher-compose.yml
Normal file
@@ -0,0 +1,281 @@
|
||||
.catalog:
|
||||
name: Let's Encrypt
|
||||
version: 0.5.0
|
||||
description: Trusted SSL certificates at zero cost
|
||||
minimum_rancher_version: v1.5.0
|
||||
questions:
|
||||
|
||||
- variable: EULA
|
||||
label: I Agree to the Let's Encrypt TOS
|
||||
description: |
|
||||
Read https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf
|
||||
required: true
|
||||
type: enum
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
|
||||
- variable: API_VERSION
|
||||
label: Let's Encrypt API Version
|
||||
description: |
|
||||
Select the Let's Encrypt API endpoint used for issuing the certificate.
|
||||
Use `Sandbox` for testing your configuration.
|
||||
required: true
|
||||
type: enum
|
||||
default: Production
|
||||
options:
|
||||
- Production
|
||||
- Sandbox
|
||||
|
||||
- variable: EMAIL
|
||||
label: Your Email Address
|
||||
description: |
|
||||
Enter the email address to use for creating the Let's Encrypt account.
|
||||
required: true
|
||||
type: string
|
||||
|
||||
- variable: CERT_NAME
|
||||
label: Certificate Name
|
||||
description: |
|
||||
Name for storing the certificate in the Rancher API and in volumes.
|
||||
Any existing certificate by that name will be updated.
|
||||
required: true
|
||||
type: string
|
||||
|
||||
- variable: DOMAINS
|
||||
label: Domain Names
|
||||
description: |
|
||||
Comma delimited list of the certificate domains starting with the Common Name.
|
||||
E.g: `example.com, dev.example.com`.
|
||||
required: true
|
||||
type: string
|
||||
|
||||
- variable: PUBLIC_KEY_TYPE
|
||||
label: Public Key Algorithm
|
||||
description: |
|
||||
Select one of the available key types.
|
||||
required: true
|
||||
type: enum
|
||||
default: RSA-2048
|
||||
options:
|
||||
- RSA-2048
|
||||
- RSA-4096
|
||||
- RSA-8192
|
||||
- ECDSA-256
|
||||
- ECDSA-384
|
||||
|
||||
- variable: RENEWAL_TIME
|
||||
label: Renewal Time of Day (00-23)
|
||||
description: |
|
||||
Set the time of day (UTC in hours) at which certificate renewals should be run.
|
||||
default: 12
|
||||
required: true
|
||||
type: int
|
||||
|
||||
- variable: RENEWAL_PERIOD_DAYS
|
||||
label: Renewal Grace Period
|
||||
description: |
|
||||
Number of days before expiration the certificate should be renewed / become eligible for renewal.
|
||||
default: 20
|
||||
required: true
|
||||
type: int
|
||||
|
||||
- variable: RUN_ONCE
|
||||
label: Run Once
|
||||
description: |
|
||||
Stop the service after creating or renewing the certificate instead of continously running and managing renewal.
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
- variable: DNS_RESOLVERS
|
||||
label: DNS Resolvers
|
||||
description: |
|
||||
Comma delimited list of DNS resolvers used to check propagation of ACME TXT record.
|
||||
If empty the DNS resolvers configured in your hosts /etc/resolv.conf are used.
|
||||
required: false
|
||||
default: "8.8.8.8:53,8.8.4.4:53"
|
||||
type: string
|
||||
|
||||
- variable: VOLUME_NAME
|
||||
label: Volume Name (Optional)
|
||||
description: |
|
||||
To store the account data, certificates and private keys in a volume, enter the volume name that should be used.
|
||||
By default this will be a (host scoped) named Docker volume. See "Persistent Storage Driver" for other options.
|
||||
required: false
|
||||
type: string
|
||||
|
||||
- variable: STORAGE_DRIVER
|
||||
label: Volume Storage Driver (Optional)
|
||||
description: |
|
||||
To use a stack scoped volume backed by a persistent storage service, enter the name
|
||||
of an existing storage driver (see `Infrastructure -> Storage`). This also requires "Volume Name" to be set.
|
||||
required: false
|
||||
type: string
|
||||
|
||||
- variable: STORAGE_DRIVER_OPT
|
||||
label: Storage Driver Option (Optional)
|
||||
description: |
|
||||
Specify a single "driver_opts" key/value pair in the format "optionName: optionValue".
|
||||
E.g. for the `rancher-ebs` driver you should specify the required 'size' option like this: "size: 1".
|
||||
required: false
|
||||
type: string
|
||||
|
||||
- variable: PROVIDER
|
||||
label: Domain Validation Method
|
||||
description: Select a DNS provider to use for domain validation. Use 'HTTP' if your domain is hosted elsewhere.
|
||||
required: true
|
||||
type: enum
|
||||
options:
|
||||
- Aurora
|
||||
- Azure
|
||||
- CloudFlare
|
||||
- DigitalOcean
|
||||
- DNSimple
|
||||
- Dyn
|
||||
- Gandi
|
||||
- NS1
|
||||
- Ovh
|
||||
- Route53
|
||||
- Vultr
|
||||
- HTTP
|
||||
|
||||
- variable: AURORA_USER_ID
|
||||
label: Aurora User ID
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: AURORA_KEY
|
||||
label: Aurora Key
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: AURORA_ENDPOINT
|
||||
label: Aurora Endpoint URL (Optional)
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: AWS_ACCESS_KEY
|
||||
label: AWS Route53 Access Key Id
|
||||
description: Enter the Access Key Id for your AWS account.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: AWS_SECRET_KEY
|
||||
label: AWS Route53 Secret Access Key
|
||||
description: Enter the Secret Access Key for your AWS account.
|
||||
type: password
|
||||
required: false
|
||||
|
||||
- variable: AZURE_CLIENT_ID
|
||||
label: Azure Client ID
|
||||
description: Enter the Client Id for your Azure account.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: AZURE_CLIENT_SECRET
|
||||
label: Azure Client Secret
|
||||
description: Enter the Access Key Id for your Azure account.
|
||||
type: password
|
||||
required: false
|
||||
|
||||
- variable: AZURE_SUBSCRIPTION_ID
|
||||
label: Azure Subscription Id
|
||||
description: Enter the Azure Subscription Id for your Azure account.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: AZURE_TENANT_ID
|
||||
label: Azure Tenant Id
|
||||
description: Enter the Azure Tenant Id for your Azure account.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: AZURE_RESOURCE_GROUP
|
||||
label: Azure Resource Group
|
||||
description: Enter the Azure Resource Group for your Azure account.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: CLOUDFLARE_EMAIL
|
||||
label: CloudFlare Email Address
|
||||
description: Enter the email address associated with your CloudFlare account.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: CLOUDFLARE_KEY
|
||||
label: CloudFlare API Key
|
||||
description: Enter the Global API Key for your CloudFlare account.
|
||||
type: password
|
||||
required: false
|
||||
|
||||
- variable: DO_ACCESS_TOKEN
|
||||
label: DigitalOcean API Access Token
|
||||
description: Enter the Personal Access Token for your DigitalOcean account.
|
||||
type: password
|
||||
required: false
|
||||
|
||||
- variable: DNSIMPLE_EMAIL
|
||||
label: DNSimple Email Address
|
||||
description: Enter the email address associated with your DNSimple account.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: DNSIMPLE_KEY
|
||||
label: DNSimple API Key
|
||||
description: Enter your DNSimple API key.
|
||||
type: password
|
||||
required: false
|
||||
|
||||
- variable: DYN_CUSTOMER_NAME
|
||||
label: Dyn Customer Name
|
||||
description: Enter your Dyn customer name.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: DYN_USER_NAME
|
||||
label: Dyn User Name
|
||||
description: Enter your Dyn user name.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: DYN_PASSWORD
|
||||
label: Dyn Password
|
||||
description: Enter your Dyn password.
|
||||
type: password
|
||||
required: false
|
||||
|
||||
- variable: GANDI_API_KEY
|
||||
label: Gandi API Key
|
||||
description: Enter the API key for your Gandi account.
|
||||
type: password
|
||||
required: false
|
||||
|
||||
- variable: NS1_API_KEY
|
||||
label: NS1 API Key
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: OVH_APPLICATION_KEY
|
||||
label: OVH Application Key
|
||||
description: Enter your OVH application key.
|
||||
type: string
|
||||
required: false
|
||||
|
||||
- variable: OVH_APPLICATION_SECRET
|
||||
label: OVH Application Secret
|
||||
description: Enter your OVH application secret.
|
||||
type: password
|
||||
required: false
|
||||
|
||||
- variable: OVH_CONSUMER_KEY
|
||||
label: OVH Consumer Key
|
||||
description: Enter your OVH consumer key.
|
||||
type: password
|
||||
required: false
|
||||
|
||||
- variable: VULTR_API_KEY
|
||||
label: Vultr API Key
|
||||
description: Enter the API key for your Vultr account.
|
||||
type: password
|
||||
required: false
|
||||
5
templates/Mumble/0/docker-compose.yml
Normal file
5
templates/Mumble/0/docker-compose.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
mumble:
|
||||
image: ranchercb/murmur:latest
|
||||
ports:
|
||||
- 64738:64738
|
||||
- 64738:64738/udp
|
||||
7
templates/Mumble/0/rancher-compose.yml
Normal file
7
templates/Mumble/0/rancher-compose.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
.catalog:
|
||||
name: mumble
|
||||
version: v1.2.17
|
||||
uuid: mumble-0
|
||||
|
||||
mumble:
|
||||
scale: 1
|
||||
13
templates/Netdata/0/docker-compose.yml
Normal file
13
templates/Netdata/0/docker-compose.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
netdata:
|
||||
image: titpetric/netdata:latest
|
||||
labels:
|
||||
io.rancher.scheduler.global: 'true'
|
||||
uts: host
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
volumes:
|
||||
- /proc:/host/proc:ro
|
||||
- /sys:/host/sys:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
environment:
|
||||
NETDATA_PORT: "${NETDATA_PORT}"
|
||||
14
templates/Netdata/0/rancher-compose.yml
Normal file
14
templates/Netdata/0/rancher-compose.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
.catalog:
|
||||
name: netdata
|
||||
version: v1.8.0
|
||||
questions:
|
||||
|
||||
- variable: NETDATA_PORT
|
||||
label: Port
|
||||
description: Container port to access netdata
|
||||
required: true
|
||||
type: int
|
||||
default: 19999
|
||||
|
||||
netdata:
|
||||
scale: 1
|
||||
45
templates/NextCloud/0/docker-compose.yml
Normal file
45
templates/NextCloud/0/docker-compose.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
version: '2'
|
||||
services:
|
||||
nextcloud:
|
||||
image: nextcloud:12-apache
|
||||
volumes_from:
|
||||
- nextcloud-data
|
||||
ports:
|
||||
- ${NEXTCLOUD_PORT}:80
|
||||
depends_on:
|
||||
- mariadb
|
||||
labels:
|
||||
io.rancher.sidekicks: nextcloud-data
|
||||
io.rancher.container.hostname_override: container_name
|
||||
|
||||
nextcloud-data:
|
||||
image: nextcloud:12-apache
|
||||
entrypoint:
|
||||
- /bin/true
|
||||
volumes:
|
||||
- /var/www/html
|
||||
labels:
|
||||
io.rancher.container.start_once: 'true'
|
||||
io.rancher.container.hostname_override: container_name
|
||||
|
||||
mariadb:
|
||||
image: mariadb:10
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASS}
|
||||
MYSQL_DATABASE: ${MYSQL_DATABASE}
|
||||
MYSQL_USER: ${MYSQL_USER}
|
||||
MYSQL_PASSWORD: ${MYSQL_PASS}
|
||||
labels:
|
||||
io.rancher.sidekicks: mariadb-data
|
||||
io.rancher.container.hostname_override: container_name
|
||||
|
||||
mariadb-data:
|
||||
image: mariadb:10
|
||||
entrypoint:
|
||||
- /bin/true
|
||||
volumes:
|
||||
- /var/lib/mysql
|
||||
tty: true
|
||||
labels:
|
||||
io.rancher.container.start_once: 'true'
|
||||
io.rancher.container.hostname_override: container_name
|
||||
47
templates/NextCloud/0/rancher-compose.yml
Normal file
47
templates/NextCloud/0/rancher-compose.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
version: '2'
|
||||
catalog:
|
||||
name: nextcloud
|
||||
version: 0.0.1
|
||||
questions:
|
||||
|
||||
- variable: NEXTCLOUD_PORT
|
||||
label: Port
|
||||
default: 80
|
||||
required: true
|
||||
type: int
|
||||
|
||||
- variable: MYSQL_ROOT_PASS
|
||||
label: MySQL root password
|
||||
required: true
|
||||
type: password
|
||||
|
||||
- variable: MYSQL_DATABASE
|
||||
default: nextcloud
|
||||
label: MySQL Database
|
||||
required: true
|
||||
type: string
|
||||
|
||||
- variable: MYSQL_USER
|
||||
default: nextcloud
|
||||
label: MySQL User
|
||||
required: true
|
||||
type: string
|
||||
|
||||
- variable: MYSQL_PASS
|
||||
label: MySQL Pass
|
||||
required: true
|
||||
type: password
|
||||
|
||||
services:
|
||||
nextcloud:
|
||||
scale: 1
|
||||
start_on_create: true
|
||||
nextcloud-data:
|
||||
scale: 1
|
||||
start_on_create: true
|
||||
mariadb:
|
||||
scale: 1
|
||||
start_on_create: true
|
||||
mariadb-data:
|
||||
scale: 1
|
||||
start_on_create: true
|
||||
58
templates/OpenHAB/0/docker-compose.yml
Normal file
58
templates/OpenHAB/0/docker-compose.yml
Normal file
@@ -0,0 +1,58 @@
|
||||
version: '2'
|
||||
services:
|
||||
openhab:
|
||||
{{- if eq .Values.PCAP_SUPPORT_ENABLED "true"}}
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
command: "./start.sh"
|
||||
{{- end}}
|
||||
{{- if or (ne .Values.DEVICE_MAPPING_1 "") (ne .Values.DEVICE_MAPPING_2 "") }}
|
||||
devices:
|
||||
{{- end}}
|
||||
{{- if ne .Values.DEVICE_MAPPING_1 ""}}
|
||||
- "${DEVICE_MAPPING_1}"
|
||||
{{- end}}
|
||||
{{- if ne .Values.DEVICE_MAPPING_2 ""}}
|
||||
- "${DEVICE_MAPPING_2}"
|
||||
{{- end}}
|
||||
environment:
|
||||
CRYPTO_POLICY: "${CRYPTO_POLICY}"
|
||||
{{- if ne .Values.EXTRA_JAVA_OPTS ""}}
|
||||
EXTRA_JAVA_OPTS: "${EXTRA_JAVA_OPTS}"
|
||||
{{- end}}
|
||||
OPENHAB_HTTP_PORT: "${HTTP_PORT}"
|
||||
OPENHAB_HTTPS_PORT: "${HTTPS_PORT}"
|
||||
image: "openhab/openhab:2.4.0-snapshot-${IMAGE_ARCHITECTURE}-${IMAGE_DISTRIBUTION}"
|
||||
labels:
|
||||
io.rancher.container.pull_image: always
|
||||
{{- if ne .Values.HOST_LABEL ""}}
|
||||
io.rancher.scheduler.affinity:host_label: ${HOST_LABEL}
|
||||
{{- end}}
|
||||
{{- if ne .Values.NETWORK_MODE "managed"}}
|
||||
network_mode: ${NETWORK_MODE}
|
||||
{{- end}}
|
||||
ports:
|
||||
- ${HTTP_PORT}:${HTTP_PORT}
|
||||
- ${HTTPS_PORT}:${HTTPS_PORT}
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
volumes:
|
||||
{{- if eq .Values.USE_HOST_TIME "true"}}
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
{{- end}}
|
||||
- "addons:/openhab/addons"
|
||||
- "conf:/openhab/conf"
|
||||
- "userdata:/openhab/userdata"
|
||||
|
||||
volumes:
|
||||
addons:
|
||||
driver: ${VOLUME_DRIVER}
|
||||
per_container: true
|
||||
conf:
|
||||
driver: ${VOLUME_DRIVER}
|
||||
per_container: true
|
||||
userdata:
|
||||
driver: ${VOLUME_DRIVER}
|
||||
per_container: true
|
||||
130
templates/OpenHAB/0/rancher-compose.yml
Normal file
130
templates/OpenHAB/0/rancher-compose.yml
Normal file
@@ -0,0 +1,130 @@
|
||||
version: '2'
|
||||
catalog:
|
||||
name: "openHAB"
|
||||
version: "2.4.0-SNAPSHOT"
|
||||
description: "An open source, technology agnostic home automation platform"
|
||||
questions:
|
||||
|
||||
- variable: "IMAGE_ARCHITECTURE"
|
||||
label: "Image Architecture"
|
||||
description: |
|
||||
Use "amd64" for AMD/Intel 64-bit architectures (e.g. x64, x86-64, x86_64).
|
||||
Use "armhf" for ARMv7 32-bit architectures (e.g. most RaspberryPi 1/2/3).
|
||||
Use "arm64" for ARMv8 64-bit architectures (not RaspberryPi 3)
|
||||
required: true
|
||||
default: "amd64"
|
||||
type: enum
|
||||
options:
|
||||
- amd64
|
||||
- armhf
|
||||
- arm64
|
||||
|
||||
- variable: "IMAGE_DISTRIBUTION"
|
||||
label: "Image Distribution"
|
||||
description: "The distribution on which the container image is based"
|
||||
required: true
|
||||
default: "debian"
|
||||
type: enum
|
||||
options:
|
||||
- alpine
|
||||
- debian
|
||||
|
||||
- variable: "NETWORK_MODE"
|
||||
label: "Network Mode"
|
||||
description: "The network stack to connect the container to"
|
||||
required: true
|
||||
default: "host"
|
||||
type: enum
|
||||
options:
|
||||
- host
|
||||
- bridge
|
||||
- managed
|
||||
- none
|
||||
|
||||
- variable: "HOST_LABEL"
|
||||
label: "Host Label"
|
||||
description: "Schedules openHAB to run only on hosts that have a specific label. Example: 'openhab=true'"
|
||||
default: ""
|
||||
type: "string"
|
||||
required: false
|
||||
|
||||
- variable: "USE_HOST_TIME"
|
||||
label: "Use Host Time"
|
||||
description: "Adds /etc/localtime and /etc/timezone as volumes from the host for providing timezone information"
|
||||
required: true
|
||||
default: false
|
||||
type: boolean
|
||||
|
||||
- variable: "PCAP_SUPPORT_ENABLED"
|
||||
label: "Enable Packet Capture Support"
|
||||
description: "Runs openHAB as root and adds network capabilities e.g. for libpcap support"
|
||||
required: true
|
||||
default: false
|
||||
type: boolean
|
||||
|
||||
- variable: "HTTP_PORT"
|
||||
label: "HTTP Port"
|
||||
description: "The port used for HTTP connections"
|
||||
default: 8080
|
||||
required: true
|
||||
type: "int"
|
||||
|
||||
- variable: "HTTPS_PORT"
|
||||
label: "HTTPS Port"
|
||||
description: "The port used for HTTPS connections"
|
||||
default: 8443
|
||||
required: true
|
||||
type: "int"
|
||||
|
||||
- variable: "DEVICE_MAPPING_1"
|
||||
label: "Device Mapping 1"
|
||||
description: "Maps a device from the host to the container. Example: '/dev/ttyUSB0' or '/dev/ttyController:/dev/ttyS1'"
|
||||
default: ""
|
||||
type: "string"
|
||||
required: false
|
||||
|
||||
- variable: "DEVICE_MAPPING_2"
|
||||
label: "Device Mapping 2"
|
||||
description: "Maps another device from the host to the container. Example: '/dev/ttyUSB1' or '/dev/ttyController:/dev/ttyS2'"
|
||||
default: ""
|
||||
type: "string"
|
||||
required: false
|
||||
|
||||
- variable: "CRYPTO_POLICY"
|
||||
label: "Java Cryptographic Strength Policy"
|
||||
description: "Due to local laws and export restrictions the container uses Java with a limited cryptographic strength policy by default. Some openHAB functionality (e.g. KM200 binding) may depend on unlimited strength. Before enabling this make sure this is allowed by local laws and you agree with the applicable license and terms"
|
||||
required: true
|
||||
default: "limited"
|
||||
type: enum
|
||||
options:
|
||||
- limited
|
||||
- unlimited
|
||||
|
||||
- variable: "VOLUME_DRIVER"
|
||||
label: "Volume Driver"
|
||||
description: "The volume driver used for persisting data"
|
||||
required: true
|
||||
default: "local"
|
||||
type: enum
|
||||
options:
|
||||
- local
|
||||
- rancher-ebs
|
||||
- rancher-efs
|
||||
- rancher-nfs
|
||||
|
||||
- variable: "EXTRA_JAVA_OPTS"
|
||||
label: "Extra Java Options"
|
||||
description: "Starts the openHAB JVM with the provided extra options. Example: '-Dgnu.io.rxtx.SerialPorts=/dev/ttyAMA0:/dev/zwave'"
|
||||
default: ""
|
||||
type: "string"
|
||||
required: false
|
||||
|
||||
services:
|
||||
openhab:
|
||||
scale: 1
|
||||
health_check:
|
||||
port: ${HTTP_PORT}
|
||||
interval: 5000
|
||||
response_timeout: 5000
|
||||
healthy_threshold: 2
|
||||
unhealthy_threshold: 3
|
||||
22
templates/OpenProject/0/docker-compose.yml
Normal file
22
templates/OpenProject/0/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
version: '2'
|
||||
services:
|
||||
openproject:
|
||||
image: openproject/community:7
|
||||
volumes_from:
|
||||
- openproject-data
|
||||
ports:
|
||||
- ${OPENPROJECT_PORT}:80
|
||||
labels:
|
||||
io.rancher.sidekicks: openproject-data
|
||||
io.rancher.container.hostname_override: container_name
|
||||
openproject-data:
|
||||
image: openproject/community:7
|
||||
entrypoint:
|
||||
- /bin/true
|
||||
volumes:
|
||||
- /var/lib/postgresql/9.4/main
|
||||
- /var/log/supervisor
|
||||
- /var/db/openproject
|
||||
labels:
|
||||
io.rancher.container.start_once: 'true'
|
||||
io.rancher.container.hostname_override: container_name
|
||||
20
templates/OpenProject/0/rancher-compose.yml
Normal file
20
templates/OpenProject/0/rancher-compose.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
version: '2'
|
||||
catalog:
|
||||
name: openproject
|
||||
version: 0.0.1
|
||||
description: Project planning and scheduling
|
||||
questions:
|
||||
|
||||
- variable: OPENPROJECT_PORT
|
||||
label: Port
|
||||
default: 80
|
||||
required: true
|
||||
type: int
|
||||
|
||||
services:
|
||||
openproject:
|
||||
scale: 1
|
||||
start_on_create: true
|
||||
openproject-data:
|
||||
scale: 1
|
||||
start_on_create: true
|
||||
@@ -0,0 +1,36 @@
|
||||
mongo:
|
||||
image: mongo
|
||||
# volumes:
|
||||
# - ./data/runtime/db:/data/db
|
||||
# - ./data/dump:/dump
|
||||
command: mongod --smallfiles --oplogSize 128
|
||||
|
||||
rocketchat:
|
||||
image: rocketchat/rocket.chat:latest
|
||||
# volumes:
|
||||
# - ./uploads:/app/uploads
|
||||
environment:
|
||||
- PORT=3000
|
||||
- ROOT_URL=http://yourhost:3000
|
||||
- MONGO_URL=mongodb://mongo:27017/rocketchat
|
||||
links:
|
||||
- mongo:mongo
|
||||
ports:
|
||||
- 3000:3000
|
||||
|
||||
# hubot, the popular chatbot (add the bot user first and change the password before starting this image)
|
||||
hubot:
|
||||
image: rocketchat/hubot-rocketchat
|
||||
environment:
|
||||
- ROCKETCHAT_URL=rocketchat:3000
|
||||
- ROCKETCHAT_ROOM=GENERAL
|
||||
- ROCKETCHAT_USER=bot
|
||||
- ROCKETCHAT_PASSWORD=botpassword
|
||||
- BOT_NAME=bot
|
||||
# you can add more scripts as you'd like here, they need to be installable by npm
|
||||
- EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-diagnostics
|
||||
links:
|
||||
- rocketchat:rocketchat
|
||||
# this is used to expose the hubot port for notifications on the host on port 3001, e.g. for hubot-jenkins-notifier
|
||||
ports:
|
||||
- 3001:8080
|
||||
@@ -0,0 +1,8 @@
|
||||
.catalog:
|
||||
name: "RocketChat"
|
||||
version: "v0.1-educaas"
|
||||
description: "Have your own Slack like online chat, built with Meteor."
|
||||
uuid: rocketchat-0
|
||||
questions:
|
||||
|
||||
rocketchat:
|
||||
49
templates/Thingsboard/0/docker-compose.yml
Normal file
49
templates/Thingsboard/0/docker-compose.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
version: '2'
|
||||
services:
|
||||
tb:
|
||||
image: "thingsboard/application:1.2.4"
|
||||
ports:
|
||||
- "${http_public_port}:8080"
|
||||
- "${mqtt_public_port}:1883"
|
||||
- "${coap_public_port}:5683/udp"
|
||||
environment:
|
||||
- MQTT_BIND_ADDRESS=0.0.0.0
|
||||
- MQTT_BIND_PORT=1883
|
||||
- COAP_BIND_ADDRESS=0.0.0.0
|
||||
- COAP_BIND_PORT=5683
|
||||
- ZOOKEEPER_URL=zk:2181
|
||||
- DATABASE_TYPE=${database_type}
|
||||
{{- if eq .Values.database_type "cassandra" }}
|
||||
- CASSANDRA_URL=db:9042
|
||||
- CASSANDRA_HOST=db
|
||||
- CASSANDRA_PORT=9042
|
||||
{{- else }}
|
||||
- POSTGRES_HOST=db
|
||||
- POSTGRES_PORT=5432
|
||||
{{- end }}
|
||||
- ADD_SCHEMA_AND_SYSTEM_DATA=${add_schema_and_system_data}
|
||||
- ADD_DEMO_DATA=${add_demo_data}
|
||||
volumes:
|
||||
- hsqldb_data_dir:/usr/share/thingsboard/data/sql
|
||||
links:
|
||||
- db:db
|
||||
external_links:
|
||||
- ${zookeeper_service}:zk
|
||||
entrypoint: /run-application.sh
|
||||
db:
|
||||
{{- if eq .Values.database_type "cassandra" }}
|
||||
image: "cassandra:3"
|
||||
volumes:
|
||||
- db_data_dir:/var/lib/cassandra
|
||||
{{- else }}
|
||||
image: "postgres:9.6"
|
||||
environment:
|
||||
- POSTGRES_DB=${postgres_db}
|
||||
volumes:
|
||||
- db_data_dir:/var/lib/postgresql/data
|
||||
{{- end }}
|
||||
volumes:
|
||||
hsqldb_data_dir:
|
||||
driver: ${volume_driver}
|
||||
db_data_dir:
|
||||
driver: ${volume_driver}
|
||||
90
templates/Thingsboard/0/rancher-compose.yml
Normal file
90
templates/Thingsboard/0/rancher-compose.yml
Normal file
@@ -0,0 +1,90 @@
|
||||
version: '2'
|
||||
catalog:
|
||||
name: "Thingsboard"
|
||||
version: "v0.1"
|
||||
description: "An open source IoT platform"
|
||||
uuid: Thingsboard-1
|
||||
questions:
|
||||
|
||||
- variable: http_public_port
|
||||
description: "Thingsboard dashboard published port"
|
||||
label: "Http public port"
|
||||
required: true
|
||||
default: "8080"
|
||||
type: int
|
||||
|
||||
- variable: mqtt_public_port
|
||||
description: "MQTT published port"
|
||||
label: "MQTT public port"
|
||||
required: true
|
||||
default: "1883"
|
||||
type: int
|
||||
|
||||
- variable: coap_public_port
|
||||
description: "COAP published port"
|
||||
label: "COAP public port"
|
||||
required: true
|
||||
default: "5683"
|
||||
type: int
|
||||
|
||||
- variable: database_type
|
||||
description: "Choose database type to use: sql or cassandra"
|
||||
label: "Database type"
|
||||
required: true
|
||||
default: "sql"
|
||||
type: enum
|
||||
options:
|
||||
- sql
|
||||
- cassandra
|
||||
|
||||
- variable: add_schema_and_system_data
|
||||
description: "Whether to init scheme and system data"
|
||||
label: "Add schema and system data"
|
||||
required: true
|
||||
default: true
|
||||
type: boolean
|
||||
|
||||
- variable: add_demo_data
|
||||
description: "Whether to insert demo data"
|
||||
label: "Add demo data"
|
||||
required: true
|
||||
default: true
|
||||
type: boolean
|
||||
|
||||
- variable: zookeeper_service
|
||||
description: "Zookeeper service stack"
|
||||
label: "Zookeeper service"
|
||||
required: true
|
||||
default: "zookeeper/zk"
|
||||
type: "service"
|
||||
|
||||
- variable: postgres_db
|
||||
description: "Database name in postgresql"
|
||||
label: "Dbname"
|
||||
required: true
|
||||
default: "thingsboard"
|
||||
type: string
|
||||
|
||||
- variable: volume_driver
|
||||
description: "Volume driver to use with this service"
|
||||
label: "Volume driver"
|
||||
required: true
|
||||
default: "local"
|
||||
type: enum
|
||||
options:
|
||||
- local
|
||||
- rancher-nfs
|
||||
- rancher-efs
|
||||
- rancher-ebs
|
||||
|
||||
services:
|
||||
tb:
|
||||
scale: 1
|
||||
retain_ip: true
|
||||
health_check:
|
||||
port: 8080
|
||||
interval: 5000
|
||||
unhealthy_threshold: 3
|
||||
request_line: 'GET / HTTP/1.0'
|
||||
healthy_threshold: 2
|
||||
response_timeout: 5000
|
||||
133
templates/Traefik/0/docker-compose.yml
Normal file
133
templates/Traefik/0/docker-compose.yml
Normal file
@@ -0,0 +1,133 @@
|
||||
version: '2'
|
||||
services:
|
||||
traefik:
|
||||
ports:
|
||||
- ${admin_port}:${admin_port}/tcp
|
||||
- ${http_port}:${http_port}/tcp
|
||||
{{- if ne .Values.https_enable "false"}}
|
||||
- ${https_port}:${https_port}/tcp
|
||||
{{- end}}
|
||||
labels:
|
||||
io.rancher.scheduler.global: 'true'
|
||||
io.rancher.scheduler.affinity:host_label: ${host_label}
|
||||
io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
|
||||
{{- if eq .Values.rancher_integration "api"}}
|
||||
io.rancher.container.agent.role: environment
|
||||
io.rancher.container.create_agent: 'true'
|
||||
{{- end}}
|
||||
{{- if or (eq .Values.rancher_integration "external") (eq .Values.acme_enable "true")}}
|
||||
io.rancher.sidekicks:
|
||||
{{- if eq .Values.rancher_integration "external"}} traefik-conf
|
||||
{{- if eq .Values.acme_enable "true" -}},{{- end -}}
|
||||
{{- end -}}
|
||||
{{- if eq .Values.acme_enable "true" -}}
|
||||
{{- if ne .Values.rancher_integration "external"}} traefik-acme
|
||||
{{- else -}}traefik-acme
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end}}
|
||||
io.rancher.container.hostname_override: container_name
|
||||
image: rawmind/alpine-traefik:1.6.4-0
|
||||
environment:
|
||||
- TRAEFIK_HTTP_PORT=${http_port}
|
||||
- TRAEFIK_HTTP_COMPRESSION=${compress_enable}
|
||||
- TRAEFIK_HTTPS_PORT=${https_port}
|
||||
- TRAEFIK_HTTPS_ENABLE=${https_enable}
|
||||
- TRAEFIK_HTTPS_COMPRESSION=${compress_enable}
|
||||
- TRAEFIK_USAGE_ENABLE=${usage_enable}
|
||||
- TRAEFIK_TIMEOUT_READ=${timeout_read}
|
||||
- TRAEFIK_TIMEOUT_WRITE=${timeout_write}
|
||||
- TRAEFIK_TIMEOUT_IDLE=${timeout_idle}
|
||||
- TRAEFIK_TIMEOUT_DIAL=${timeout_dial}
|
||||
- TRAEFIK_TIMEOUT_HEADER=${timeout_header}
|
||||
{{- if ne .Values.https_min_tls ""}}
|
||||
- TRAEFIK_HTTPS_MIN_TLS=${https_min_tls}
|
||||
{{- end}}
|
||||
{{- if ne .Values.trusted_ips ""}}
|
||||
- TRAEFIK_TRUSTEDIPS=${trusted_ips}
|
||||
{{- end}}
|
||||
{{- if ne .Values.ssl_key ""}}
|
||||
- TRAEFIK_SSL_KEY=${ssl_key}
|
||||
{{- end}}
|
||||
{{- if ne .Values.ssl_crt ""}}
|
||||
- TRAEFIK_SSL_CRT=${ssl_crt}
|
||||
{{- end}}
|
||||
- TRAEFIK_INSECURE_SKIP=${insecure_skip}
|
||||
- TRAEFIK_ADMIN_ENABLE=true
|
||||
- TRAEFIK_ADMIN_PORT=${admin_port}
|
||||
- TRAEFIK_ADMIN_SSL=${admin_ssl}
|
||||
- TRAEFIK_ADMIN_STATISTICS=${admin_statistics}
|
||||
- TRAEFIK_ADMIN_AUTH_METHOD=${admin_auth_method}
|
||||
- TRAEFIK_ADMIN_AUTH_USERS=${admin_users}
|
||||
{{- if eq .Values.acme_enable "true"}}
|
||||
- TRAEFIK_ACME_ENABLE=${acme_enable}
|
||||
- TRAEFIK_ACME_EMAIL=${acme_email}
|
||||
- TRAEFIK_ACME_CHALLENGE=${acme_challenge}
|
||||
- TRAEFIK_ACME_CHALLENGE_HTTP_ENTRYPOINT=http
|
||||
- TRAEFIK_ACME_ONHOSTRULE=${acme_onhostrule}
|
||||
- TRAEFIK_ACME_CASERVER=${acme_caserver}
|
||||
{{- end}}
|
||||
{{- if ne .Values.rancher_integration "external"}}
|
||||
- TRAEFIK_RANCHER_ENABLE=true
|
||||
- TRAEFIK_FILE_ENABLE=false
|
||||
- TRAEFIK_CONSTRAINTS=${constraints}
|
||||
- TRAEFIK_RANCHER_HEALTHCHECK=${rancher_healthcheck}
|
||||
- TRAEFIK_RANCHER_MODE=${rancher_integration}
|
||||
{{- else}}
|
||||
- TRAEFIK_FILE_ENABLE=true
|
||||
{{- end}}
|
||||
{{- if eq .Values.metrics_enable "true"}}
|
||||
- TRAEFIK_METRICS_ENABLE=${metrics_enable}
|
||||
- TRAEFIK_METRICS_EXPORTER=${metrics_exporter}
|
||||
- TRAEFIK_METRICS_PUSH=${metrics_push}
|
||||
- TRAEFIK_METRICS_ADDRESS=${metrics_address}
|
||||
- TRAEFIK_METRICS_PROMETHEUS_BUCKETS=${metrics_prometheus_buckets}
|
||||
{{- end}}
|
||||
{{- if or (eq .Values.rancher_integration "external") (eq .Values.acme_enable "true")}}
|
||||
volumes_from:
|
||||
{{- if eq .Values.rancher_integration "external"}}
|
||||
- traefik-conf
|
||||
{{- end}}
|
||||
{{- if eq .Values.acme_enable "true"}}
|
||||
- traefik-acme
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
{{- if eq .Values.rancher_integration "external"}}
|
||||
traefik-conf:
|
||||
labels:
|
||||
io.rancher.scheduler.global: 'true'
|
||||
io.rancher.scheduler.affinity:host_label: ${host_label}
|
||||
io.rancher.scheduler.affinity:container_label_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
|
||||
io.rancher.container.start_once: 'true'
|
||||
image: rawmind/rancher-traefik:1.5.0-0
|
||||
network_mode: none
|
||||
volumes:
|
||||
- tools-volume:/opt/tools
|
||||
{{- end}}
|
||||
{{- if eq .Values.acme_enable "true"}}
|
||||
traefik-acme:
|
||||
network_mode: none
|
||||
labels:
|
||||
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
|
||||
io.rancher.container.hostname_override: container_name
|
||||
io.rancher.container.start_once: true
|
||||
environment:
|
||||
- SERVICE_UID=10001
|
||||
- SERVICE_GID=10001
|
||||
- SERVICE_VOLUME=/opt/traefik/acme
|
||||
volumes:
|
||||
- ${acme_vol_name}:/opt/traefik/acme
|
||||
image: rawmind/alpine-volume:0.0.2-1
|
||||
{{- end}}
|
||||
{{- if or (eq .Values.rancher_integration "external") (eq .Values.acme_enable "true")}}
|
||||
volumes:
|
||||
{{- if eq .Values.rancher_integration "external"}}
|
||||
tools-volume:
|
||||
driver: local
|
||||
per_container: true
|
||||
{{- end}}
|
||||
{{- if eq .Values.acme_enable "true"}}
|
||||
${acme_vol_name}:
|
||||
driver: ${acme_vol_driver}
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
313
templates/Traefik/0/rancher-compose.yml
Normal file
313
templates/Traefik/0/rancher-compose.yml
Normal file
@@ -0,0 +1,313 @@
|
||||
version: '2'
|
||||
catalog:
|
||||
name: traefik
|
||||
version: v1.6.4-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: "rancher_healthcheck"
|
||||
description: |
|
||||
Enable/disable rancher services healtcheck filter. If enable, just healthy services will be published.
|
||||
Only valid for api and metadata integration.
|
||||
label: "Rancher healthcheck filter:"
|
||||
required: true
|
||||
default: false
|
||||
type: "boolean"
|
||||
|
||||
- variable: "usage_enable"
|
||||
description: |
|
||||
Enable/disable send anonymous usage collection to Traefik. See https://docs.traefik.io/basics/#collected-data
|
||||
label: "Traefik send anonymous usage:"
|
||||
required: true
|
||||
default: false
|
||||
type: "boolean"
|
||||
|
||||
- variable: "constraints"
|
||||
description: |
|
||||
Traefik constraints for rancher provider. Eg: "tag==api"
|
||||
Only valid for api and metadata integration.
|
||||
label: "Traefik constraints:"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- 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 for api, rest, ping and webui."
|
||||
label: "Admin port:"
|
||||
required: true
|
||||
default: 8000
|
||||
type: "int"
|
||||
|
||||
- variable: "admin_ssl"
|
||||
description: "Enable ssl for api, rest, ping and webui."
|
||||
label: "Admin ssl:"
|
||||
required: true
|
||||
default: false
|
||||
type: "boolean"
|
||||
|
||||
- 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: "https_min_tls"
|
||||
description: |
|
||||
Minimal allowed tls version to accept connections from.
|
||||
See the traefik documentation for allowed values. Default is `VersionTLS12`.
|
||||
label: "Https min tls:"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- variable: "trusted_ips"
|
||||
description: |
|
||||
Enable proxyProtocol and forwardHeaders just for trusted IPs. Eg: `172.0.0.0/16,192.168.0.1`
|
||||
See the traefik documentation for more info. Default is ``.
|
||||
label: "Trusted IPs:"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- 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_challenge"
|
||||
description: "ACME challenge."
|
||||
label: "ACME challenge:"
|
||||
required: true
|
||||
default: http
|
||||
type: enum
|
||||
options: # List of options if using type of `enum`
|
||||
- http
|
||||
|
||||
- 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 or admin ssl"
|
||||
label: "Https key"
|
||||
type: "multiline"
|
||||
required: false
|
||||
default: ""
|
||||
|
||||
- variable: "ssl_crt"
|
||||
description: "SSL cert to secure the service. *Required if you enable https or admin ssl"
|
||||
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: "timeout_read"
|
||||
label: "Timeout read:"
|
||||
description: |
|
||||
Traefik respondingTimeouts readTimeout (s).
|
||||
default: 0
|
||||
required: true
|
||||
type: "int"
|
||||
|
||||
- variable: "timeout_write"
|
||||
label: "Timeout write:"
|
||||
description: |
|
||||
Traefik respondingTimeouts writeTimeout (s).
|
||||
default: 0
|
||||
required: true
|
||||
type: "int"
|
||||
|
||||
- variable: "timeout_idle"
|
||||
label: "Timeout idle:"
|
||||
description: |
|
||||
Traefik respondingTimeouts idleTimeout (s).
|
||||
default: 180
|
||||
required: true
|
||||
type: "int"
|
||||
|
||||
- variable: "timeout_dial"
|
||||
label: "Timeout dial:"
|
||||
description: |
|
||||
Traefik forwardingTimeouts dialTimeout (s).
|
||||
default: 30
|
||||
required: true
|
||||
type: "int"
|
||||
|
||||
- variable: "timeout_header"
|
||||
label: "Timeout header:"
|
||||
description: |
|
||||
Traefik forwardingTimeouts responseHeaderTimeout (s).
|
||||
default: 0
|
||||
required: true
|
||||
type: "int"
|
||||
|
||||
- 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 api, rest and 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 api, rest and webui. Generate with htpassword for basic or htdigest with traefik realm for digest."
|
||||
label: "Admin users:"
|
||||
type: "multiline"
|
||||
required: false
|
||||
default: ""
|
||||
|
||||
- variable: "metrics_enable"
|
||||
description: "Enable traefik metrics."
|
||||
label: "Metrics enable"
|
||||
default: false
|
||||
required: true
|
||||
type: "boolean"
|
||||
|
||||
- variable: "metrics_exporter"
|
||||
description: "Traefik metrics exporter."
|
||||
label: "Metrics exporter:"
|
||||
required: false
|
||||
default:
|
||||
type: enum
|
||||
options: # List of options if using type of `enum`
|
||||
- prometheus
|
||||
- datadog
|
||||
- statsd
|
||||
- influxdb
|
||||
|
||||
- variable: "metrics_push"
|
||||
description: "Traefik metrics exporter push interval. Apply on datadog, statsd and influxdb."
|
||||
label: "Metrics push interval (s):"
|
||||
required: false
|
||||
default: 10
|
||||
type: "int"
|
||||
|
||||
- variable: "metrics_address"
|
||||
description: "Traefik metrics exporter address to push. Apply on datadog, statsd and influxdb."
|
||||
label: "Metrics address:"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- variable: "metrics_prometheus_buckets"
|
||||
description: "Traefik metrics buckets for prometheus."
|
||||
label: "Metrics prometheus buckets"
|
||||
default: "[0.1,0.3,1.2,5.0]"
|
||||
required: false
|
||||
type: "string"
|
||||
|
||||
services:
|
||||
traefik:
|
||||
retain_ip: true
|
||||
health_check:
|
||||
healthy_threshold: 2
|
||||
response_timeout: 5000
|
||||
port: ${admin_port}
|
||||
unhealthy_threshold: 3
|
||||
interval: 5000
|
||||
strategy: recreate
|
||||
33
templates/Turtl/0/docker-compose.yml
Normal file
33
templates/Turtl/0/docker-compose.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
turtl-api-data:
|
||||
labels:
|
||||
io.rancher.container.start_once: 'true'
|
||||
entrypoint:
|
||||
- /bin/true
|
||||
image: busybox
|
||||
volumes:
|
||||
- /opt/api/uploads
|
||||
- /var/lib/rethinkdb/instance1
|
||||
|
||||
turtl-api:
|
||||
ports:
|
||||
- 8181:8181/tcp
|
||||
environment:
|
||||
DISPLAY_ERRORS: ${DISPLAY_ERRORS}
|
||||
FQDN: ${FQDN}
|
||||
SITE_URL: ${SITE_URL}
|
||||
LOCAL_UPLOAD_URL: ${LOCAL_UPLOAD_URL}
|
||||
LOCAL_UPLOAD_PATH: ${LOCAL_UPLOAD_PATH}
|
||||
AWS_S3_TOKEN: ${AWS_S3_TOKEN}
|
||||
ADMIN_EMAIL: ${ADMIN_EMAIL}
|
||||
EMAIL_FROM: ${EMAIL_FROM}
|
||||
SMTP_USER: ${SMTP_USER}
|
||||
SMTP_PASS: ${SMTP_PASS}
|
||||
DEFAULT_STORAGE_LIMIT: ${DEFAULT_STORAGE_LIMIT}
|
||||
STORAGE_INVITE_CREDIT: ${STORAGE_INVITE_CREDIT}
|
||||
image: webofmars/turtl-docker:latest
|
||||
stdin_open: true
|
||||
tty: true
|
||||
labels:
|
||||
io.rancher.sidekicks: turtl-api-data
|
||||
volumes_from:
|
||||
- turtl-api-data
|
||||
105
templates/Turtl/0/rancher-compose.yml
Normal file
105
templates/Turtl/0/rancher-compose.yml
Normal file
@@ -0,0 +1,105 @@
|
||||
.catalog:
|
||||
name: "turtl"
|
||||
version: 1.0.1
|
||||
questions:
|
||||
|
||||
- variable: "DISPLAY_ERRORS"
|
||||
descrition: "Display errors"
|
||||
label: "Display errors: "
|
||||
required: false
|
||||
default: "t"
|
||||
type: "string"
|
||||
|
||||
- variable: "FQDN"
|
||||
description: "Fully Qualified Domain Name (ex: 'notes.example.com')."
|
||||
label: "fqdn"
|
||||
required: true
|
||||
default: "turtl.local"
|
||||
type: "string"
|
||||
|
||||
- variable: "SITE_URL"
|
||||
description: "The uri used to access the turtl api"
|
||||
label: "site url"
|
||||
required: true
|
||||
default: "http://turtl.local"
|
||||
type: "string"
|
||||
|
||||
- variable: "LOCAL_UPLOAD_PATH"
|
||||
description: "The local path of the uploaded content."
|
||||
label: "uploads local path"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- variable: "LOCAL_UPLOAD_URL"
|
||||
description: "The urls used to retrieve uploaded content. Must be set if you change LOCAL_UPLOAD_PATH. (ex: http://turtl.local)"
|
||||
label: "local upload url"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- variable: "AWS_S3_TOKEN"
|
||||
description: |
|
||||
Amazon Web Services S3 token. Used only if you use S3 as a storage backend. ex : (:token ''
|
||||
secret ''
|
||||
bucket ''
|
||||
endpoint 'https://s3.amazonaws.com')
|
||||
label: "AWS S3 token"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- variable: "ADMIN_EMAIL"
|
||||
description: "email adresse of administrator ex: admin@example.com"
|
||||
label: "Admin e-mail"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- variable: "EMAIL_FROM"
|
||||
description: "The e-mail adress used to send the e-mail from turtl to users."
|
||||
label: "e-mail from"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- variable: "SMTP_USER"
|
||||
description: "The user used to authenticate to the smtp server. Can be blank."
|
||||
label: "smtp user"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- variable: "SMTP_PASS"
|
||||
description: "The password used to authenticate to the smtp server. Can be blank."
|
||||
label: "smtp password"
|
||||
required: false
|
||||
default: ""
|
||||
type: "string"
|
||||
|
||||
- variable: "STORAGE_INVITE_CREDIT"
|
||||
description: "The number of MB a user gain when he invites someone"
|
||||
label: "storage invite credit"
|
||||
required: false
|
||||
default: ""
|
||||
type: "int"
|
||||
|
||||
- variable: "DEFAULT_STORAGE_LIMIT"
|
||||
description: "Maximum storage space (in MB) that can be used by a single user (ex: 1000)"
|
||||
label: "Default Storage Limit"
|
||||
required: false
|
||||
default: ""
|
||||
type: "int"
|
||||
|
||||
turtl-api-data:
|
||||
scale: 1
|
||||
turtl-api:
|
||||
scale: 1
|
||||
health_check:
|
||||
port: 8181
|
||||
interval: 2000
|
||||
initializing_timeout: 300000
|
||||
unhealthy_threshold: 10
|
||||
strategy: recreate
|
||||
response_timeout: 2000
|
||||
healthy_threshold: 2
|
||||
Reference in New Issue
Block a user