mirror of
https://github.com/AsgardEternal/Ubuntu-Ansible-Setup.git
synced 2024-09-29 09:54:24 -05:00
Price Hiller
df62d0bbff
Prior to this, server ids were set purely based on the position in the inventory. So, if a mistake were made and a server moved up or down in position then the associated ID would be wrong, and the wrong data would be used against it in SquadJS's database. Furthermore, if we were to ever change the format of how servers are in the inventory this would cause a headache as currently server ids are calculated based on position in the inventory. Explicitly defining them while, yes, adding another hard coded value, avoids this headache entirely.
74 lines
2.2 KiB
YAML
74 lines
2.2 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: 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 }}"
|