2023-01-27 17:50:01 -06:00
|
|
|
---
|
|
|
|
- name: Update Server Configs With Defaults if Missing
|
|
|
|
ansible.utils.update_fact:
|
|
|
|
updates:
|
|
|
|
- path: "squad_servers.{{ idx }}"
|
|
|
|
value: "{{ squad_default_settings | combine(item, recursive=True) }}"
|
|
|
|
loop: "{{ squad_servers }}"
|
|
|
|
changed_when: false
|
|
|
|
loop_control:
|
|
|
|
index_var: idx
|
|
|
|
label: "{{ item.name }}"
|
|
|
|
register: squad_servers_updated
|
|
|
|
|
|
|
|
- ansible.builtin.set_fact:
|
|
|
|
squad_servers: "{{ squad_servers_updated.results[-1].squad_servers }}"
|
|
|
|
|
|
|
|
- name: Create Squad Directories
|
|
|
|
become: true
|
|
|
|
ansible.builtin.file:
|
|
|
|
state: directory
|
|
|
|
path: "{{ squad_server_configs_dir }}"
|
|
|
|
owner: "{{ squad_server_user }}"
|
|
|
|
group: "{{ squad_server_group }}"
|
|
|
|
mode: 0755
|
|
|
|
|
|
|
|
- name: Create Squad Server Configuration Directories
|
|
|
|
become: true
|
|
|
|
ansible.builtin.file:
|
|
|
|
state: directory
|
|
|
|
path: "{{ squad_server_configs_dir }}/{{ item.docker.name }}/ServerConfig"
|
|
|
|
owner: "{{ squad_server_user }}"
|
|
|
|
group: "{{ squad_server_group }}"
|
|
|
|
mode: 0755
|
|
|
|
loop: "{{ squad_servers }}"
|
|
|
|
loop_control:
|
|
|
|
label: "{{ squad_server_configs_dir }}/{{ item.docker.name }}/ServerConfig"
|
|
|
|
|
|
|
|
- name: Template In Squad Server's Docker Compose
|
|
|
|
become: true
|
|
|
|
ansible.builtin.template:
|
|
|
|
src: docker-compose.yml.j2
|
|
|
|
dest: "{{ squad_servers_dir }}/docker-compose.yml"
|
|
|
|
owner: "{{ squad_server_user }}"
|
|
|
|
group: "{{ squad_server_group }}"
|
|
|
|
mode: 0644
|
|
|
|
|
|
|
|
- name: Get Server Configurations
|
|
|
|
ansible.builtin.include_tasks: nested_servers_loop.yml
|
|
|
|
loop_control:
|
|
|
|
loop_var: template_file
|
|
|
|
label: "{{ template_file | basename }}"
|
|
|
|
with_fileglob:
|
|
|
|
- ../templates/server-config/*.j2
|
2023-04-25 07:35:58 -05:00
|
|
|
|
|
|
|
- name: Delete Liscense file if no license
|
|
|
|
become: true
|
|
|
|
ansible.builtin.file:
|
|
|
|
path: "{{ squad_server_configs_dir }}/{{ server.docker.name }}/ServerConfig/License.cfg"
|
|
|
|
state: absent
|
2023-04-25 07:43:33 -05:00
|
|
|
when: server.secrets.license == ""
|
2023-04-25 07:35:58 -05:00
|
|
|
loop: "{{ squad_servers }}"
|
|
|
|
loop_control:
|
|
|
|
loop_var: server
|
|
|
|
label: "{{ server.docker.name }}"
|
2023-01-27 17:50:01 -06:00
|
|
|
|
|
|
|
- name: Template SquadJS Into Place
|
|
|
|
become: true
|
|
|
|
ansible.builtin.template:
|
|
|
|
src: "SquadJS.{{ server.docker.name }}.json.j2"
|
|
|
|
dest: "{{ squad_server_configs_dir }}/{{ server.docker.name }}/SquadJS.json"
|
|
|
|
owner: "{{ squad_server_user }}"
|
|
|
|
group: "{{ squad_server_group }}"
|
|
|
|
mode: 0644
|
|
|
|
loop: "{{ squad_servers }}"
|
|
|
|
loop_control:
|
|
|
|
loop_var: server
|
|
|
|
label: "{{ server.docker.name }}"
|
|
|
|
|
|
|
|
- name: Open Squad Server Ports
|
|
|
|
ansible.builtin.include_tasks: nested_ports_open.yml
|
|
|
|
loop_control:
|
|
|
|
loop_var: server
|
|
|
|
label: "{{ server.name }}"
|
|
|
|
loop: "{{ squad_servers }}"
|