67 lines
1.7 KiB
YAML
67 lines
1.7 KiB
YAML
|
####################
|
||
|
# - Deployment
|
||
|
####################
|
||
|
- hosts: leader
|
||
|
become: "true"
|
||
|
vars:
|
||
|
stack_name: "site-support"
|
||
|
stack_configs:
|
||
|
- "site-support__security.txt"
|
||
|
|
||
|
tasks:
|
||
|
####################
|
||
|
# - Stop the Stack
|
||
|
####################
|
||
|
- name: "Stop Stack: {{ stack_name }}"
|
||
|
community.docker.docker_stack:
|
||
|
state: "absent"
|
||
|
absent_retries: 15
|
||
|
name: "{{ stack_name }}"
|
||
|
|
||
|
####################
|
||
|
# - Network Creation
|
||
|
####################
|
||
|
- name: "Create Network: mesh_public"
|
||
|
community.docker.docker_network:
|
||
|
state: "present"
|
||
|
name: "mesh_public"
|
||
|
driver: "overlay"
|
||
|
scope: "swarm"
|
||
|
attachable: true
|
||
|
appends: true
|
||
|
|
||
|
####################
|
||
|
# - Config Creation
|
||
|
####################
|
||
|
- name: "Create Docker Configs"
|
||
|
community.docker.docker_config:
|
||
|
state: "present"
|
||
|
name: "{{ item }}"
|
||
|
data: "{{ lookup('template', './configs/' ~ item) | b64encode }}"
|
||
|
data_is_b64: "true"
|
||
|
with_items: "{{ stack_configs }}"
|
||
|
|
||
|
####################
|
||
|
# - Stack Deployment
|
||
|
####################
|
||
|
- name: "Upload Stack to /tmp"
|
||
|
template:
|
||
|
src: "./docker-compose.yml"
|
||
|
dest: "/tmp/{{ stack_name }}.yml"
|
||
|
owner: "root"
|
||
|
group: "root"
|
||
|
mode: "0640"
|
||
|
|
||
|
- name: "Deploy Stack: {{ stack_name }}"
|
||
|
community.docker.docker_stack:
|
||
|
state: "present"
|
||
|
prune: "true"
|
||
|
name: "{{ stack_name }}"
|
||
|
compose:
|
||
|
- "/tmp/{{ stack_name }}.yml"
|
||
|
|
||
|
- name: "Delete /tmp Stack"
|
||
|
ansible.builtin.file:
|
||
|
path: "/tmp/{{ stack_name }}.yml"
|
||
|
state: "absent"
|