71 lines
1.7 KiB
YAML
71 lines
1.7 KiB
YAML
####################
|
|
# - Setup
|
|
####################
|
|
- name: "Allocate Hosts w/DNS"
|
|
tags:
|
|
- "stage_setup"
|
|
hosts: "localhost"
|
|
vars:
|
|
do_project: "{{ project_name }}"
|
|
do_project_purpose: "Infrastructure for the Python Support Team."
|
|
|
|
roles:
|
|
- role: "setup/hosts_digitalocean"
|
|
vars:
|
|
hosts_do: "{{ groups['purpose_storage'] }}"
|
|
## SET: nodes_to_ipv4s_public@localhost
|
|
## SET: nodes_to_ipv4s_private@localhost
|
|
|
|
- role: "setup/hosts_digitalocean"
|
|
vars:
|
|
hosts_do: "{{ groups['purpose_service'] }}"
|
|
## SET: nodes_to_ipv4s_public@localhost
|
|
## SET: nodes_to_ipv4s_private@localhost
|
|
|
|
- role: "setup/dns_foundation"
|
|
vars:
|
|
ipv4_root: "{{ nodes_to_ipv4s_public['raspberry.node'] }}"
|
|
|
|
####################
|
|
# - Setup Hosts
|
|
####################
|
|
- name: "Configure Hosts"
|
|
hosts: "swarm_nodes"
|
|
tags:
|
|
- "stage_host"
|
|
roles:
|
|
- role: "host/system_tools"
|
|
|
|
- role: "host/network_wg0"
|
|
vars:
|
|
hosts_wg0: "{{ groups['swarm_nodes'] }}"
|
|
|
|
- role: "host/docker"
|
|
|
|
- name: "Configure Docker Swarm Leader"
|
|
hosts: "swarm_leader"
|
|
tags:
|
|
- "stage_host"
|
|
roles:
|
|
- role: "host/docker_swarm_leader"
|
|
## SET: swarm_manager_token@swarm_leader
|
|
## SET: swarm_worker_token@swarm_leader
|
|
|
|
- name: "Configure Docker Swarm Workers"
|
|
hosts: "swarm_workers"
|
|
tags:
|
|
- "stage_host"
|
|
roles:
|
|
- role: "host/docker_swarm_worker"
|
|
vars:
|
|
host_swarm_leader: "{{ groups['swarm_leader'][0] }}"
|
|
|
|
|
|
|
|
####################
|
|
# - Deploy Stacks
|
|
####################
|
|
- import_playbook: "./stacks/mesh/playbook.yml"
|
|
- import_playbook: "./stacks/site-support/playbook.yml"
|
|
- import_playbook: "./stacks/cleanup/playbook.yml"
|