Files
toallab-automation/roles/sage905.mark2/tasks/main.yml
2019-12-27 19:05:16 -05:00

126 lines
3.4 KiB
YAML
Executable File

---
# tasks file for sage905.mark2
- name: Ensure extra repos are enabled
rhsm_repository:
name:
- "rhel-*-optional-rpms"
- "rhel-*-extras-rpms"
state: enabled
- name: Ensure EPEL is available
yum:
name: https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
state: present
- name: Install Development Tools
become: true
yum: name="@Development tools" state=present
when: ansible_os_family == 'RedHat'
- name: Ensure required packages are available
yum:
name:
- git
- nano
state: present
- name: Create Directories
become: true
file:
name: "{{ item.name }}"
state: "{{ item.state }}"
owner: "{{ item.owner }}"
group: "{{ item.group }}"
mode: "{{ item.mode }}"
loop:
- {name: /usr/games/minecraft, state: directory, owner: "{{ minecraft_user }}", group: "{{ minecraft_user }}", mode: "0755"}
- {name: /var/games/minecraft, state: directory, owner: "{{ minecraft_user }}", group: "{{ minecraft_user }}", mode: "0775"}
- name: Allow group to access minecraft directory
become: true
file: name=/var/games/minecraft group={{ minecraft_user }} mode=0775
- name: Set default editor to nano
copy:
dest: /etc/profile.d/nano.sh
content: 'export VISUAL="nano"\nexport EDITOR="nano"'
owner: root
- name: Clone Mark2 git repo
become: true
become_user: "{{ minecraft_user }}"
git:
repo: "{{ mark2_repo }}"
version: "{{ mark2_version }}"
dest: "/usr/games/minecraft"
update: "{{ mark2_keep_updated }}"
notify: Restart mark2
- name: Set git core.filemode setting
become: true
become_user: "{{ minecraft_user }}"
ini_file:
dest: /usr/games/minecraft/.git/config
section: core
option: filemode
value: false
- name: Give minecraft group access to server dir
become: true
file: name=/var/games/minecraft/servers owner={{ minecraft_user }} group={{ minecraft_user }} mode=0775 state=directory
- name: Python development tools available
become: true
yum:
name:
- python2-pip
- python-devel
state: present
- name: Mark2 requirements installed
become: true
pip:
chdir: /usr/games/minecraft
requirements: /usr/games/minecraft/requirements.txt
- name: Easy Install requirements
become: true
easy_install:
name: "{{ item }}"
state: present
loop:
- psutil
- urwid
- feedparser
- name: Link to executable
become: true
file: src=/usr/games/minecraft/mark2 dest=/usr/bin/mark2 state=link
notify: Restart mark2
# - name: Install mineos config from distribution
# become: true
# template: src=mineos.conf dest=/etc/mineos.conf owner=root mode=0644
# notify: Restart mineos
# - name: Install upstart config (RHEL <= 6)
# become: true
# copy: src=upstart_conf dest=/etc/init/mineos.conf
# notify:
# - Reload initctl
# - Restart mineos
# when: ansible_distribution == "Amazon" or (ansible_os_family == "RedHat" and ansible_distribution_major_version <= "6")
# - name: Link systemd config (RHEL 7)
# become: true
# file: src=/usr/games/minecraft/init/systemd_conf dest=/etc/systemd/system/mineos.service state=link
# notify: Restart mineos
# when: (ansible_os_family == "RedHat" or ansible and ansible_distribution_major_version == "7")
- name: Open firewall
firewalld:
state: enabled
zone: public
port: 25565-25575/tcp
immediate: yes
permanent: true