diff --git a/templates/postgres/1/docker-compose.yml b/templates/postgres/1/docker-compose.yml new file mode 100644 index 0000000..de6fedc --- /dev/null +++ b/templates/postgres/1/docker-compose.yml @@ -0,0 +1,41 @@ +version: '2' +services: + postgres-lb: + image: rancher/lb-service-haproxy + ports: + - ${lb_port} + {{- if ne .Values.host_label ""}} + labels: + io.rancher.scheduler.affinity:host_label: ${host_label} + {{- end}} + + postgres-data: + image: busybox + labels: + io.rancher.container.start_once: true + {{- if ne .Values.host_label ""}} + io.rancher.scheduler.affinity:host_label: ${host_label} + {{- end}} + volumes: + - pgdata:/var/lib/postgresql/data/pgdata + + postgres: + image: postgres:latest + environment: + PGDATA: /var/lib/postgresql/data/pgdata + POSTGRES_DB: ${postgres_db} + POSTGRES_USER: ${postgres_user} + POSTGRES_PASSWORD: ${postgres_password} + tty: true + stdin_open: true + labels: + io.rancher.sidekicks: postgres-data + {{- if ne .Values.host_label ""}} + io.rancher.scheduler.affinity:host_label: ${host_label} + {{- end}} + volumes_from: + - postgres-data +volumes: + pgdata: + driver: ${VOLUME_DRIVER} + per_container: true diff --git a/templates/postgres/1/rancher-compose.yml b/templates/postgres/1/rancher-compose.yml new file mode 100644 index 0000000..255d648 --- /dev/null +++ b/templates/postgres/1/rancher-compose.yml @@ -0,0 +1,76 @@ +version: '2' +catalog: + name: "Postgres" + version: "v0.0.2" + description: "PostgreSQL" + uuid: postgres-0 + minimum_rancher_version: v0.9.0 + questions: + - variable: lb_port + description: "Port to access PostgreSQL from external services" + label: "Postgres LB Port" + required: true + default: 5432 + type: "int" + - variable: postgres_db + description: "Postgres Database" + label: "Postgres Database" + required: true + default: "postgres_sb" + type: "string" + - variable: postgres_user + description: "Postgres User" + label: "Postgres User" + required: true + default: "postgres_user" + type: "string" + - variable: postgres_password + description: "Postgres Password" + label: "Postgres Password" + required: true + default: "postgres_password" + type: "string" + - variable: "VOLUME_DRIVER" + description: "The VOLUME driver to associate with this server" + label: "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: host_label + label: "Host with Label to put postgres on" + description: | + Host label to use as postgres 'value' tag. + Example: 'postgres=true' + required: false + default: "" + type: "string" + +services: + postgres-lb: + scale: 1 + lb_config: + certs: [] + port_rules: + - protocol: tcp + service: postgres + source_port: ${lb_port} + target_port: 5432 + health_check: + port: 42 + interval: 2000 + unhealthy_threshold: 3 + healthy_threshold: 2 + response_timeout: 2000 + postgres: + scale: 1 + health_check: + port: 5432 + interval: 2000 + unhealthy_threshold: 3 + healthy_threshold: 2 + response_timeout: 2000