From 0ebeaa43d7521c611cdf1ef50c89affda4c35559 Mon Sep 17 00:00:00 2001 From: Kyr Shatskyy Date: Wed, 3 Oct 2018 16:25:26 +0200 Subject: [PATCH] Add zypper support for paddles role Signed-off-by: Kyr Shatskyy --- roles/paddles/tasks/main.yml | 4 +++ roles/paddles/tasks/setup_paddles.yml | 7 +++++ roles/paddles/tasks/setup_service.yml | 7 +++++ roles/paddles/tasks/setup_user.yml | 6 +++++ roles/paddles/tasks/zypper_systems.yml | 37 ++++++++++++++++++++++++++ roles/paddles/vars/zypper_systems.yml | 24 +++++++++++++++++ 6 files changed, 85 insertions(+) create mode 100644 roles/paddles/tasks/zypper_systems.yml create mode 100644 roles/paddles/vars/zypper_systems.yml diff --git a/roles/paddles/tasks/main.yml b/roles/paddles/tasks/main.yml index 16a0279..64e959f 100644 --- a/roles/paddles/tasks/main.yml +++ b/roles/paddles/tasks/main.yml @@ -25,6 +25,9 @@ tags: - always +- import_tasks: zypper_systems.yml + when: ansible_pkg_mgr == "zypper" + - import_tasks: apt_systems.yml when: ansible_pkg_mgr == "apt" @@ -46,3 +49,4 @@ # Configure nginx as a reverse proxy - import_tasks: nginx.yml + when: not ansible_distribution is search("openSUSE") diff --git a/roles/paddles/tasks/setup_paddles.yml b/roles/paddles/tasks/setup_paddles.yml index 050cdde..bff1be6 100644 --- a/roles/paddles/tasks/setup_paddles.yml +++ b/roles/paddles/tasks/setup_paddles.yml @@ -7,6 +7,13 @@ tags: - repos +- name: Install latest pip via pip + pip: + name: "pip" + state: "latest" + chdir: "{{ paddles_repo_path }}" + virtualenv: "{{ paddles_repo_path }}/virtualenv" + become_user: "{{ paddles_user }}" - name: Install requirements via pip pip: chdir: "{{ paddles_repo_path }}" diff --git a/roles/paddles/tasks/setup_service.yml b/roles/paddles/tasks/setup_service.yml index 8b8fcb7..91d33ca 100644 --- a/roles/paddles/tasks/setup_service.yml +++ b/roles/paddles/tasks/setup_service.yml @@ -1,4 +1,11 @@ --- +- name: Make sure supervisor config directory exists + file: + path: "{{ supervisor_conf_d }}" + state: directory + recurse: yes + mode: 0755 + - name: Ship supervisor config template: src: supervisor.conf diff --git a/roles/paddles/tasks/setup_user.yml b/roles/paddles/tasks/setup_user.yml index 58811fd..1fe7fd0 100644 --- a/roles/paddles/tasks/setup_user.yml +++ b/roles/paddles/tasks/setup_user.yml @@ -1,4 +1,10 @@ --- +- name: Create group + group: + name: "{{ paddles_user }}" + state: present + tags: + - user - name: Create user user: name: "{{ paddles_user }}" diff --git a/roles/paddles/tasks/zypper_systems.yml b/roles/paddles/tasks/zypper_systems.yml new file mode 100644 index 0000000..8389480 --- /dev/null +++ b/roles/paddles/tasks/zypper_systems.yml @@ -0,0 +1,37 @@ +--- +- name: Include package type specific vars. + include_vars: "zypper_systems.yml" + tags: + - always + +- name: Install packages via zypper + zypper: + name: "{{ item }}" + state: latest + update_cache: yes + with_items: "{{ paddles_extra_packages }}" + tags: + - packages + +- name: Enable and start database + service: + name: postgresql + state: started + enabled: yes + +- name: Enable and start supervisor + service: + name: supervisord + state: started + enabled: yes + +- name: Setup hba_conf + lineinfile: + path: "/var/lib/pgsql/data/pg_hba.conf" + insertafter: "^#\\s+TYPE\\s+DATABASE\\s+USER\\s+ADDRESS\\s+METHOD.*" + line: "host paddles {{ paddles_user }} ::1/128 trust" + +- name: Reload database + service: + name: postgresql + state: reloaded diff --git a/roles/paddles/vars/zypper_systems.yml b/roles/paddles/vars/zypper_systems.yml new file mode 100644 index 0000000..a818bb3 --- /dev/null +++ b/roles/paddles/vars/zypper_systems.yml @@ -0,0 +1,24 @@ +--- +paddles_extra_packages: + # The following is a requirement of ansible's postgresql module + - python-psycopg2 + # The following packages are requirements for running paddles + - gcc + - git + - python-devel + - python-pip + - python-virtualenv + - postgresql + - postgresql-contrib + - postgresql-devel + - postgresql-server + - supervisor + # We use nginx to reverse-proxy + - nginx + +# We need this so we can disable apache2 to get out of the way of nginx +apache_service: 'apache2' + +#supervisor_conf_d: /etc/supervisor/conf.d +supervisor_conf_d: /etc/supervisord.d +supervisor_conf_suffix: conf -- 2.39.5