From 8aacb87290df923b81b3f75147477b4b1484b63d Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Wed, 16 Mar 2016 21:45:24 +0000 Subject: [PATCH] Get basset frontend and most of backend into ansible Signed-off-by: Patrick Uiterwijk --- playbooks/groups/basset.yml | 3 +++ roles/basset/frontend/files/basset.conf | 15 +++++++++++++++ roles/basset/frontend/tasks/main.yml | 25 +++++++++++++++++++++++++ roles/basset/worker/tasks/main.yml | 20 ++++++++++++++++++++ roles/mongodb/tasks/main.yml | 11 +++++++++++ roles/rabbitmq/tasks/main.yml | 9 +++++++++ 6 files changed, 83 insertions(+) create mode 100644 roles/basset/frontend/files/basset.conf create mode 100644 roles/basset/frontend/tasks/main.yml create mode 100644 roles/basset/worker/tasks/main.yml create mode 100644 roles/mongodb/tasks/main.yml create mode 100644 roles/rabbitmq/tasks/main.yml diff --git a/playbooks/groups/basset.yml b/playbooks/groups/basset.yml index 2bab57e3c8..16ffef9975 100644 --- a/playbooks/groups/basset.yml +++ b/playbooks/groups/basset.yml @@ -24,6 +24,9 @@ - { role: openvpn/client, when: env != "staging" } - apache + - mongodb + - rabbitmq + - basset/frontend tasks: - include: "{{ tasks }}/yumrepos.yml" diff --git a/roles/basset/frontend/files/basset.conf b/roles/basset/frontend/files/basset.conf new file mode 100644 index 0000000000..de5131a9be --- /dev/null +++ b/roles/basset/frontend/files/basset.conf @@ -0,0 +1,15 @@ +WSGIDaemonProcess basset user=basset group=basset threads=5 +WSGIScriptAlias /basset /usr/share/basset/basset-frontend + + + AuthType basic + AuthName "Basset Frontend" + AuthUserFile "/etc/httpd/conf.d/basset.htpasswd" + Require valid-user + + + + WSGIProcessGroup basset + WSGIApplicationGroup %{GLOBAL} + Require all granted + diff --git a/roles/basset/frontend/tasks/main.yml b/roles/basset/frontend/tasks/main.yml new file mode 100644 index 0000000000..45f5fd348b --- /dev/null +++ b/roles/basset/frontend/tasks/main.yml @@ -0,0 +1,25 @@ +- name: install needed packages + yum: pkg={{ item }} state=present + with_items: + - basset-frontend + tags: + - basset + - basset/frontend + +- name: install staging htpasswd + copy: src={{private}}/files/httpd/basset.stg.htpasswd dest=/etc/httpd/conf.d/basset.htpasswd + owner=root group=root mode=0644 + notify: + - restart httpd + tags: + - basset + - basset/frontend + +- name: install frontend config + copy: src=basset.conf dest=/etc/httpd/conf.d/basset.conf + owner=root group=root mode=0644 + notify: + - restart httpd + tags: + - basset + - basset/frontend diff --git a/roles/basset/worker/tasks/main.yml b/roles/basset/worker/tasks/main.yml new file mode 100644 index 0000000000..dfd7f037fc --- /dev/null +++ b/roles/basset/worker/tasks/main.yml @@ -0,0 +1,20 @@ +- name: install needed packages + yum: pkg={{ item }} state=present + with_items: + - basset + tags: + - basset + - basset/worker + +- name: install worker config + template: src=worker.cfg dest=/etc/basset/worker.cfg + mode=0600 owner=basset-worker user=basset-worker + tags: + - basset + - basset/worker + +- name: start basset worker + service: name=basset-worker state=started enabled=yes + tags: + - basset + - basset/worker diff --git a/roles/mongodb/tasks/main.yml b/roles/mongodb/tasks/main.yml new file mode 100644 index 0000000000..e85d1cbc6d --- /dev/null +++ b/roles/mongodb/tasks/main.yml @@ -0,0 +1,11 @@ +- name: install needed packages + yum: pkg={{ item }} state=present + with_items: + - mongodb-server + tags: mongodb + +# mongod is the single daemon. mongos is a sharded cluster router, +# but just plain mongod is good enough for now +- name: start mongodb + service: name=mongod state=started enabled=yes + tags: mongodb diff --git a/roles/rabbitmq/tasks/main.yml b/roles/rabbitmq/tasks/main.yml new file mode 100644 index 0000000000..5fbadf7e57 --- /dev/null +++ b/roles/rabbitmq/tasks/main.yml @@ -0,0 +1,9 @@ +- name: install needed packages + yum: pkg={{ item }} state=present + with_items: + - rabbitmq-server + tags: rabbitmq + +- name: start rabbitmq + service: name=rabbitmq-server state=started enabled=yes + tags: rabbitmq