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.

63 lines
1.9 KiB

---
- name: Install needed packages
yum:
name:
- java-1.8.0-openjdk-devel
- git
state: latest
- name: Create mxisd user account
user: name={{ mxisd_user }} home={{ mxisd_root_dir }} shell=/bin/bash state=present
- name: Create needed directories
file: path={{ mxisd_root_dir }}/{{ item.dir }} state=directory mode={{ item.mode }} group={{ mxisd_user }}
with_items:
- { dir: /, mode: 750 }
- { dir: etc, mode: 770 }
- { dir: db, mode: 770 }
- name: Clone mxisd repo
git:
depth: 1
repo: "{{ mxisd_git_uri }}"
dest: "{{ mxisd_root_dir }}/app"
version: "{{ mxisd_version }}"
become_user: "{{ mxisd_user }}"
register: mxisd_git
become: True
- name: Setup proxy settings for gradle
template: src=gradle.properties.j2 dest={{ mxisd_root_dir }}/app/gradle.properties
- name: Check if the jar already exists
stat: path={{ mxisd_root_dir }}/app/build/libs/app.jar
register: mxisd_jar
- name: Build mxisd
command: ./gradlew --no-daemon build
args:
chdir: "{{ mxisd_root_dir }}/app"
become: True
become_user: "{{ mxisd_user }}"
when: mxisd_git.changed or not mxisd_jar.stat.exists
notify: restart mxisd
- name: Handle mxisd port
iptables_raw:
name=mxisd_port
state={{ (mxisd_src_ip is defined and mxisd_src_ip | length > 0) | ternary('present','absent') }}
rules="-A INPUT -m state --state NEW -p tcp --dport {{ mxisd_port }} -s {{ mxisd_src_ip | join(',') }} -j ACCEPT"
when: iptables_manage | default(True)
- name: Deploy service config
template: src=mxisd.yaml.j2 dest={{ mxisd_root_dir }}/etc/mxisd.yaml group={{ mxisd_user }} mode=640
notify: restart mxisd
- name: Deploy systemd unit
template: src=matrix-mxisd.service.j2 dest=/etc/systemd/system/matrix-mxisd.service
notify: reload systemd
- name: Start and enable the service
service: name=matrix-mxisd state=started enabled=yes