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.
62 lines
1.9 KiB
62 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
|
|
|