Go templating to choose db type, healthcheck
This commit is contained in:
parent
f055006b3b
commit
55031fe6c3
@ -1,38 +0,0 @@
|
|||||||
version: '2'
|
|
||||||
|
|
||||||
services:
|
|
||||||
|
|
||||||
drupal:
|
|
||||||
image: drupal:8.2-apache
|
|
||||||
labels:
|
|
||||||
io.rancher.sidekicks: postgres,drupal-datavolume
|
|
||||||
io.rancher.container.pull_image: always
|
|
||||||
ports:
|
|
||||||
- ${public_port}:80
|
|
||||||
links:
|
|
||||||
- postgres:postgres
|
|
||||||
volumes_from:
|
|
||||||
- drupal-datavolume
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
postgres:
|
|
||||||
labels:
|
|
||||||
io.rancher.sidekicks: drupal-datavolume
|
|
||||||
io.rancher.container.pull_image: always
|
|
||||||
image: postgres:9.6
|
|
||||||
environment:
|
|
||||||
POSTGRES_USER: ${DB_USER}
|
|
||||||
POSTGRES_PASSWORD: ${DB_PASS}
|
|
||||||
POSTGRES_DB: ${DB_NAME}
|
|
||||||
volumes_from:
|
|
||||||
- drupal-datavolume
|
|
||||||
restart: always
|
|
||||||
|
|
||||||
drupal-datavolume:
|
|
||||||
image: "busybox"
|
|
||||||
volumes:
|
|
||||||
- /var/www/drupal
|
|
||||||
- /var/lib/postgresql
|
|
||||||
labels:
|
|
||||||
io.rancher.container.start_once: true
|
|
||||||
entrypoint: ["/bin/true"]
|
|
59
templates/drupal/1/docker-compose.yml.tpl
Normal file
59
templates/drupal/1/docker-compose.yml.tpl
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
version: '2'
|
||||||
|
services:
|
||||||
|
drupal:
|
||||||
|
image: drupal:8.3.5-apache
|
||||||
|
labels:
|
||||||
|
io.rancher.container.hostname_override: container_name
|
||||||
|
links:
|
||||||
|
- db:db
|
||||||
|
volumes:
|
||||||
|
- drupal-modules:/var/www/html/modules
|
||||||
|
- drupal-profiles:/var/www/html/profiles
|
||||||
|
- drupal-themes:/var/www/html/themes
|
||||||
|
- drupal-sites:/var/www/html/sites
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
drupal-lb:
|
||||||
|
image: rancher/lb-service-haproxy:v0.6.4
|
||||||
|
ports:
|
||||||
|
- ${PUBLIC_PORT}:${PUBLIC_PORT}
|
||||||
|
|
||||||
|
db:
|
||||||
|
labels:
|
||||||
|
io.rancher.container.hostname_override: container_name
|
||||||
|
{{- if eq .Values.DB_TYPE "postgres"}}
|
||||||
|
image: postgres:9.6.3-alpine
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: ${DB_USER}
|
||||||
|
POSTGRES_PASSWORD: ${DB_PASS}
|
||||||
|
POSTGRES_DB: ${DB_NAME}
|
||||||
|
{{- end}}
|
||||||
|
{{- if eq .Values.DB_TYPE "mysql"}}
|
||||||
|
image: mysql:5.7.18
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: ${DB_NAME}
|
||||||
|
MYSQL_ROOT_PASSWORD: ${DB_PASS}
|
||||||
|
MYSQL_USER: ${DB_USER}
|
||||||
|
MYSQL_PASSWORD: ${DB_PASS}
|
||||||
|
{{- end}}
|
||||||
|
volumes:
|
||||||
|
{{- if eq .Values.DB_TYPE "postgres"}}
|
||||||
|
- db-data:/var/lib/postgresql
|
||||||
|
{{- end}}
|
||||||
|
{{- if eq .Values.DB_TYPE "mysql"}}
|
||||||
|
- db-data:/var/lib/mysql
|
||||||
|
{{- end}}
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
drupal-modules:
|
||||||
|
driver: local
|
||||||
|
drupal-profiles:
|
||||||
|
driver: local
|
||||||
|
drupal-themes:
|
||||||
|
driver: local
|
||||||
|
drupal-sites:
|
||||||
|
driver: local
|
||||||
|
db-data:
|
||||||
|
driver: local
|
||||||
|
|
@ -1,17 +1,28 @@
|
|||||||
.catalog:
|
version: '2'
|
||||||
|
catalog:
|
||||||
name: "Drupal"
|
name: "Drupal"
|
||||||
version: "v0.1-postgres"
|
version: "8.3.5-rancher1"
|
||||||
description: "Blog tool, publishing platform and CMS"
|
description: "Blog tool, publishing platform and CMS"
|
||||||
uuid: Drupal-0
|
uuid: Drupal-0
|
||||||
minimum_rancher_version: v0.51.0
|
minimum_rancher_version: v0.51.0
|
||||||
questions:
|
questions:
|
||||||
- variable: public_port
|
- variable: "PUBLIC_PORT"
|
||||||
description: "public port to access the drupal site"
|
description: "public port to access the drupal site"
|
||||||
label: "Public Port"
|
label: "Public Port"
|
||||||
required: true
|
required: true
|
||||||
default: "15080"
|
default: "15080"
|
||||||
type: "int"
|
type: "int"
|
||||||
|
|
||||||
|
- variable: "DB_TYPE"
|
||||||
|
description: "public port to access the drupal site"
|
||||||
|
label: "DB type"
|
||||||
|
required: true
|
||||||
|
default: "postgres"
|
||||||
|
type: "enum"
|
||||||
|
options:
|
||||||
|
- "mysql"
|
||||||
|
- "postgres"
|
||||||
|
|
||||||
- variable: "DB_NAME"
|
- variable: "DB_NAME"
|
||||||
description: "Database Name to use for the server"
|
description: "Database Name to use for the server"
|
||||||
label: "DB Name"
|
label: "DB Name"
|
||||||
@ -32,6 +43,34 @@
|
|||||||
required: true
|
required: true
|
||||||
default: ""
|
default: ""
|
||||||
type: "password"
|
type: "password"
|
||||||
|
services:
|
||||||
drupal:
|
drupal:
|
||||||
retain_ip: true
|
retain_ip: true
|
||||||
|
scale: 1
|
||||||
|
health_check:
|
||||||
|
healthy_threshold: 2
|
||||||
|
response_timeout: 5000
|
||||||
|
port: 80
|
||||||
|
unhealthy_threshold: 3
|
||||||
|
interval: 5000
|
||||||
|
strategy: recreate
|
||||||
|
request_line: GET / # HTTP/1.0
|
||||||
|
drupal-lb:
|
||||||
|
scale: 1
|
||||||
|
start_on_create: true
|
||||||
|
lb_config:
|
||||||
|
certs: []
|
||||||
|
port_rules:
|
||||||
|
- priority: 1
|
||||||
|
protocol: http
|
||||||
|
service: drupal
|
||||||
|
source_port: ${PUBLIC_PORT}
|
||||||
|
target_port: 80
|
||||||
|
health_check:
|
||||||
|
response_timeout: 2000
|
||||||
|
healthy_threshold: 2
|
||||||
|
port: 42
|
||||||
|
unhealthy_threshold: 3
|
||||||
|
initializing_timeout: 60000
|
||||||
|
interval: 2000
|
||||||
|
reinitializing_timeout: 60000
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name: Drupal
|
name: Drupal
|
||||||
description: |
|
description: |
|
||||||
Drupal is an open source CMS powering millions of websites and applications.
|
Drupal is an open source CMS powering millions of websites and applications.
|
||||||
version: v0.1
|
version: "8.3.5-rancher1"
|
||||||
category: CMS
|
category: CMS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user