[Patchew-devel] [PATCH 2/6] deploy: Deploy a Dockerized postgres DB
Fam Zheng
famz at redhat.com
Wed Oct 31 01:28:52 UTC 2018
Signed-off-by: Fam Zheng <famz at redhat.com>
---
scripts/deploy | 10 +++++++++-
scripts/dockerfiles/db.docker | 6 ++++++
scripts/playbooks/deploy-db.yml | 18 ++++++++++++++++++
3 files changed, 33 insertions(+), 1 deletion(-)
create mode 100644 scripts/dockerfiles/db.docker
create mode 100644 scripts/playbooks/deploy-db.yml
diff --git a/scripts/deploy b/scripts/deploy
index 0fc61ff..1953e9b 100755
--- a/scripts/deploy
+++ b/scripts/deploy
@@ -17,11 +17,13 @@ def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("--server", "-s", dest="web_server",
help="Web server host address")
+ parser.add_argument("--db", "-d", dest="db_server",
+ help="Database host address")
parser.add_argument("--tester", "-t", nargs="*", dest="testers",
help="Tester host address")
parser.add_argument("--importer", "-i", nargs="?",
help="Importer host address")
- parser.add_argument("--debug", "-d", action="store_true",
+ parser.add_argument("--debug", "-D", action="store_true",
help="Enable debug output")
return parser.parse_known_args()
@@ -31,12 +33,16 @@ def generate_inventory_file(args):
[servers]
%s
+[db]
+%s
+
[importers]
%s
[testers]
%s""" \
% (args.web_server or "",
+ args.db_server or "",
args.importer or "",
"\n".join(args.testers or [])))
f.flush()
@@ -50,6 +56,8 @@ def main():
playbooks = []
if args.web_server:
playbooks.append("deploy-servers.yml")
+ if args.db_server:
+ playbooks.append("deploy-db.yml")
if args.testers:
playbooks.append("deploy-testers.yml")
if args.importer:
diff --git a/scripts/dockerfiles/db.docker b/scripts/dockerfiles/db.docker
new file mode 100644
index 0000000..80a34e5
--- /dev/null
+++ b/scripts/dockerfiles/db.docker
@@ -0,0 +1,6 @@
+FROM postgres:11
+EXPOSE 5432
+ENV POSTGRES_USER patchew
+ENV POSTGRES_PASSWORD patchew
+ENV POSTGRES_DB patchew
+ENV PGDATA /data/patchew/db
diff --git a/scripts/playbooks/deploy-db.yml b/scripts/playbooks/deploy-db.yml
new file mode 100644
index 0000000..2b69995
--- /dev/null
+++ b/scripts/playbooks/deploy-db.yml
@@ -0,0 +1,18 @@
+- hosts: db
+ vars_prompt:
+ - name: instance_name
+ prompt: "Instance name of the patchew postgres db"
+ default: patchew-server-db
+ private: no
+ vars:
+ base_dir: "/data/{{ instance_name }}"
+ src_dir: "{{ base_dir }}/src"
+ data_dir: "{{ base_dir }}/data"
+ tasks:
+ - name: Create data dir
+ file:
+ path: "{{ data_dir }}"
+ state: directory
+ - import_tasks: tasks/docker-deploy.yml
+ vars:
+ instance_role: db
--
2.17.2
More information about the Patchew-devel
mailing list