diff options
author | Stefan Joosten <stefan@sjoosten.nl> | 2016-08-23 20:34:32 +0200 |
---|---|---|
committer | Stefan Joosten <stefan@sjoosten.nl> | 2016-08-23 20:34:32 +0200 |
commit | cf50f8c7d35497509d592dd309906503c8d994e5 (patch) | |
tree | 1080a8fc28755db9c099e1dd8cdafb3e4c5f5b93 /tasks | |
parent | 4088a3ec70d18f7174723609af79587cf65a0ed7 (diff) | |
download | ansible-teamspeak-cf50f8c7d35497509d592dd309906503c8d994e5.tar.gz ansible-teamspeak-cf50f8c7d35497509d592dd309906503c8d994e5.tar.xz ansible-teamspeak-cf50f8c7d35497509d592dd309906503c8d994e5.zip |
Fix issue #1.
Rewrote parts of Egbert Verhage's patches. Thank you again for the work.
This work adds the possibility to generate a INI-style configuration file for the TeamSpeak 3 Server.
The scope is limited to creating and use of the INI config file, and ability to configure network settings, the machine ID and default creation of the first virtual server.
More features can follow soon after.
Diffstat (limited to 'tasks')
-rw-r--r-- | tasks/config.yml | 20 | ||||
-rw-r--r-- | tasks/install.yml | 69 | ||||
-rw-r--r-- | tasks/main.yml | 78 |
3 files changed, 84 insertions, 83 deletions
diff --git a/tasks/config.yml b/tasks/config.yml index 11e57ff..3e9f003 100644 --- a/tasks/config.yml +++ b/tasks/config.yml @@ -1,23 +1,15 @@ --- -# Config files and actions for teamspeak3 server -- name: Short facts +# configuration tasks for teamspeak +- name: Set TeamSpeak 3 Server directory fact set_fact: ts3server_dir: "{{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64" -- name: Create ts3server.ini +- name: Create TeamSpeak 3 Server configuration file template: src: ts3server.ini.j2 - dest: "{{ ts3server_dir }}/ts3server.ini" + dest: "{{ ts3server_dir }}/{{ teamspeak_ini_filename }}" mode: 0644 owner: "{{ teamspeak.user }}" group: "{{ teamspeak.user }}" - register: ts3server_ini - -- name: Create teamspeak 3 server logs folder - file: - path: "{{ teamspeak_ini.logpath }}" - state: directory - mode: 0755 - owner: "{{ teamspeak.user }}" - group: "{{ teamspeak.user }}" - + notify: + - Restart TeamSpeak 3 Server diff --git a/tasks/install.yml b/tasks/install.yml new file mode 100644 index 0000000..98d7253 --- /dev/null +++ b/tasks/install.yml @@ -0,0 +1,69 @@ +--- +# install tasks file for teamspeak + +# Start of installation +- name: Create Teamspeak user + user: + name: "{{ teamspeak.user }}" + comment: "{{ teamspeak.comment }}" + home: "{{ teamspeak.home }}" + shell: "{{ teamspeak.shell }}" + system: yes + +- name: Download TeamSpeak {{ teamspeak.version }} Server files + get_url: + url: "http://dl.4players.de/ts/releases/{{ teamspeak.version }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}.tar.bz2" + dest: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}.tar.bz2" + checksum: "{{ teamspeak.checksum }}" + owner: "{{ teamspeak.user }}" + group: "{{ teamspeak.user }}" + +- name: Create TeamSpeak {{ teamspeak.version }} Server directory + file: + path: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}" + state: directory + owner: "{{ teamspeak.user }}" + group: "{{ teamspeak.user }}" + register: mkdir + +# If a new directory has been created, check for (current) user data. +- name: Checking for a currently installed TeamSpeak 3 Server with user data + stat: + path: "{{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64/files" + register: userdata + when: mkdir.changed + +# If user data has been found, this is an upgrade situation. +- include: ts3update.yml + when: userdata.stat.exists is defined and userdata.stat.exists == True + +# Created a new directory? Extract the files into it. Overwrites existing. +- name: Extract TeamSpeak {{ teamspeak.version }} Server files + unarchive: + copy: no + src: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}.tar.bz2" + dest: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}/" + owner: "{{ teamspeak.user }}" + group: "{{ teamspeak.user }}" + when: mkdir.changed + +- name: Create/Update symlink to TeamSpeak {{ teamspeak.version }} Server + file: + src: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}" + dest: "{{ teamspeak.home }}/{{ teamspeak.symlink }}" + state: link + owner: "{{ teamspeak.user }}" + group: "{{ teamspeak.user }}" + notify: + - Restart TeamSpeak 3 Server + +- name: Install TeamSpeak 3 systemctl service file + template: + src: teamspeak3-server.service.j2 + dest: "{{ systemd_service_file_path }}/teamspeak3-server.service" + mode: 0644 + owner: root + group: root + notify: + - Reload systemd + diff --git a/tasks/main.yml b/tasks/main.yml index 4d93664..1b171df 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -12,79 +12,19 @@ paths: - ../vars -- name: Create Teamspeak user - user: - name: "{{ teamspeak.user }}" - comment: "{{ teamspeak.comment }}" - home: "{{ teamspeak.home }}" - shell: "{{ teamspeak.shell }}" - system: yes - -- name: Download TeamSpeak {{ teamspeak.version }} server files - get_url: - url: "http://dl.4players.de/ts/releases/{{ teamspeak.version }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}.tar.bz2" - dest: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}.tar.bz2" - checksum: "{{ teamspeak.checksum }}" - owner: "{{ teamspeak.user }}" - group: "{{ teamspeak.user }}" - -- name: Create TeamSpeak {{ teamspeak.version }} server directory - file: - path: "{{ teamspeak.home}}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}" - state: directory - owner: "{{ teamspeak.user }}" - group: "{{ teamspeak.user }}" - register: mkdir - -# If a new directory has been created, check for (current) user data. -- name: Checking for a currently installed TeamSpeak 3 server with user data - stat: - path: "{{ teamspeak.home }}/{{ teamspeak.symlink }}/teamspeak3-server_linux_amd64/files" - register: userdata - when: mkdir.changed - -# If user data has been found, this is an upgrade situation. -- include: ts3update.yml - when: userdata.stat.exists is defined and userdata.stat.exists == True - -# Created a new directory? Extract the files into it. Overwrites existing. -- name: Extract TeamSpeak {{ teamspeak.version }} server files - unarchive: - copy: no - src: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}.tar.bz2" - dest: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}/" - owner: "{{ teamspeak.user }}" - group: "{{ teamspeak.user }}" - when: mkdir.changed - -- name: Create/Update symlink to TeamSpeak {{ teamspeak.version }} server - file: - src: "{{ teamspeak.home }}/teamspeak3-server_linux_amd64-{{ teamspeak.version }}" - dest: "{{ teamspeak.home }}/{{ teamspeak.symlink }}" - state: link - owner: "{{ teamspeak.user }}" - group: "{{ teamspeak.user }}" - notify: - - Restart TeamSpeak 3 Server +# Installation of TeamSpeak 3 Server +- include: install.yml +# Configuration of TeamSpeak 3 Server (if requested) - include: config.yml - when: teamspeak_ini is defined or teamspeak.ini_file is none and teamspeak_ini.disable is false + when: teamspeak_ini_enabled -- name: Install TeamSpeak 3 systemctl service file - template: - src: teamspeak3-server.service.j2 - dest: "{{ systemd_service_file_path }}/teamspeak3-server.service" - mode: 0644 - owner: root - group: root - notify: - - Reload systemd - -# Perform the "Reload systemd" (and possibly queued clean-up) handler now. -# Before we start using the new/changed .service file. +# Perform the running of handlers now +# So we can do "Reload systemd" (and possibly queued clean-up) +# before we start using the new/changed .service file. - meta: flush_handlers - -- name: Enable and start TeamSpeak 3 server +# Make sure TeamSpeak 3 Server is started and enabled +- name: Enable and start TeamSpeak 3 Server service: name: teamspeak3-server state: started |