From 2bb9b57fcc41a518fb536daf10508a77ed33a3a7 Mon Sep 17 00:00:00 2001 From: Mateusz Trojak Date: Thu, 29 Dec 2016 11:59:17 +0100 Subject: [PATCH] Adding PostgreSQL --- templates/postgres/0/docker-compose.yml | 29 +++++++++++ templates/postgres/0/rancher-compose.yml | 52 ++++++++++++++++++++ templates/postgres/README.md | 7 +++ templates/postgres/catalogIcon-postgres.png | Bin 0 -> 10114 bytes templates/postgres/config.yml | 5 ++ 5 files changed, 93 insertions(+) create mode 100644 templates/postgres/0/docker-compose.yml create mode 100644 templates/postgres/0/rancher-compose.yml create mode 100644 templates/postgres/README.md create mode 100644 templates/postgres/catalogIcon-postgres.png create mode 100644 templates/postgres/config.yml diff --git a/templates/postgres/0/docker-compose.yml b/templates/postgres/0/docker-compose.yml new file mode 100644 index 0000000..24e8dfa --- /dev/null +++ b/templates/postgres/0/docker-compose.yml @@ -0,0 +1,29 @@ +version: '2' +services: + postgres-lb: + image: rancher/load-balancer-service + links: + - postgres + ports: + - ${lb_port}:5432 + + postgres-data: + image: busybox + labels: + io.rancher.container.start_once: true + volumes: + - /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 + volumes_from: + - postgres-data diff --git a/templates/postgres/0/rancher-compose.yml b/templates/postgres/0/rancher-compose.yml new file mode 100644 index 0000000..4428156 --- /dev/null +++ b/templates/postgres/0/rancher-compose.yml @@ -0,0 +1,52 @@ +.catalog: + name: "Postgres" + version: "v0.0.1" + 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" + +version: '2' +services: + postgres-lb: + scale: 1 + load_balancer_config: + haproxy_config: {} + 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 diff --git a/templates/postgres/README.md b/templates/postgres/README.md new file mode 100644 index 0000000..d37c09f --- /dev/null +++ b/templates/postgres/README.md @@ -0,0 +1,7 @@ +## What is inside PostgreSQL Stack? +* Postgres Database + sidekick with volume data +* Load Balancer + +## Info +* Easy setup with all needed data: `database_name`, `user`, `password` +* Load Balancer used to forroward Postgress port for the external services. diff --git a/templates/postgres/catalogIcon-postgres.png b/templates/postgres/catalogIcon-postgres.png new file mode 100644 index 0000000000000000000000000000000000000000..a735f88cb93e4a7e49e7b42575a841db1e5526db GIT binary patch literal 10114 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 bz9YL$fEWQZBFxZ3bufyusxsA|%|iYM4Qsgv literal 0 HcmV?d00001 diff --git a/templates/postgres/config.yml b/templates/postgres/config.yml new file mode 100644 index 0000000..22d6fc8 --- /dev/null +++ b/templates/postgres/config.yml @@ -0,0 +1,5 @@ +name: PostgreSQL +description: | + PostgreSQL — an object-relational database (ORDBMS) +version: v0.0.1 +category: Database