ansible-infra/playbooks/internal.yml

106 lines
2.7 KiB
YAML

---
- name: load provisioner facts
hosts: internal
gather_facts: false
tasks:
- name: include provisioner role
ansible.builtin.include_role:
name: nullified.infrastructure.provisioner
tasks_from: load_facts.yml
apply:
tags: [always]
tags: [always]
- name: setup internal infrastructure
hosts: internal
gather_facts: false
tasks:
- name: include security role
ansible.builtin.include_role:
name: nullified.infrastructure.security
apply:
tags: [security]
tags: [security, firewall]
- name: include common role
ansible.builtin.include_role:
name: nullified.infrastructure.common
apply:
tags: [common]
tags: [common]
- name: setup servers
hosts: internal:&server
tasks:
- name: include server role
ansible.builtin.include_role:
name: nullified.infrastructure.server
apply:
tags: [server]
tags: [server]
- name: setup vault
hosts: internal:&vault
tasks:
- name: include vault role
ansible.builtin.include_role:
name: nullified.infrastructure.vault
apply:
tags: [vault]
tags: [vault]
- name: setup mariadb servers
hosts: internal:&mariadb
tasks:
- name: include mariadb role
ansible.builtin.include_role:
name: nullified.infrastructure.mariadb
apply:
tags: [mariadb]
tags: [mariadb]
- name: setup postgresql servers
hosts: internal:&postgresql
tasks:
- name: include postgresql role
ansible.builtin.include_role:
name: nullified.infrastructure.postgresql
apply:
tags: [postgresql]
tags: [postgresql]
- name: setup workstations
hosts: internal:&workstation
tasks:
- name: include workstation role
ansible.builtin.include_role:
name: nullified.infrastructure.workstation
apply:
tags: [workstation]
tags: [workstation]
- name: include development role
ansible.builtin.include_role:
name: nullified.infrastructure.development
apply:
tags: [development]
tags: [development]
- name: setup gaming tools
hosts: internal:&gaming
tasks:
- name: include gaming role
ansible.builtin.include_role:
name: nullified.infrastructure.gaming
apply:
tags: [gaming]
tags: [gaming]
# WARNING: OpenTofu states depend on setting up the postgresql database first
- name: install K3S
hosts: internal:&k3s
tasks:
- name: include k3s role
ansible.builtin.include_role:
name: nullified.infrastructure.k3s
apply:
tags: [k3s]
tags: [k3s, helm, opentofu]