Ubuntu-Ansible-Setup/roles/squad-server/tasks/deploy-configs.yml

74 lines
2.2 KiB
YAML
Raw Normal View History

---
- 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: 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 }}"