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
63 lines
1.9 KiB
5 years ago
|
---
|
||
|
|
||
|
- 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
|