Ansible roles
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.3 KiB

---
- name: Install dependencies
yum:
name:
- nodejs
- git
tags: wbo
- import_tasks: ../includes/create_system_user.yml
vars:
- user: wbo_{{ wbo_id }}
- home: "{{ wbo_root_dir }}"
- comment: "Online collaborative Whiteboard {{ wbo_id }}"
tags: wbo
- name: Clone wbo repo
git:
repo: "{{ wbo_git_url }}"
dest: "{{ wbo_root_dir }}/app"
force: True
notify: restart wbo
register: wbo_git
tags: wbo
- name: Install wbo
command: npm i
args:
chdir: "{{ wbo_root_dir }}/app"
when: wbo_git.changed
tags: wbo
- name: Set permissions on server data dir
file: path={{ wbo_root_dir }}/app/server-data owner=wbo_{{ wbo_id }} mode=700
tags: wbo
- name: Deploy systemd unit
template: src=wbo.service.j2 dest=/etc/systemd/system/wbo-{{ wbo_id }}.service
register: wbo_unit
tags: wbo
- name: Reload systemd
systemd: daemon_reload=True
when: wbo_unit.changed
tags: wbo
- name: Handle wbo port
iptables_raw:
name: wbo_port_{{ wbo_id }}
state: "{{ (wbo_src_ip | length > 0) | ternary('present','absent') }}"
rules: "-A INPUT -m state --state NEW -p tcp --dport {{ wbo_port }} -s {{ wbo_src_ip | join(',') }} -j ACCEPT"
when: iptables_manage | default(True)
tags: wbo
- name: Start and enable wbo daemon
service: name=wbo-{{ wbo_id }} state=started enabled=True
tags: wbo