#################### # - 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"