Ubuntu-Ansible-Setup/roles/squad-server/tasks/deploy-configs.yml
2023-04-25 08:43:33 -04:00

85 lines
2.5 KiB
YAML

---
- 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
- 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
when: server.secrets.license == ""
loop: "{{ squad_servers }}"
loop_control:
loop_var: server
label: "{{ server.docker.name }}"
- 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 }}"