mirror of
https://github.com/natelandau/ansible-homelab-config.git
synced 2025-11-08 05:03:47 -05:00
81 lines
2.8 KiB
YAML
81 lines
2.8 KiB
YAML
---
|
|
- name: "Running playbook"
|
|
hosts: all
|
|
serial: 1
|
|
|
|
vars_files:
|
|
- default_variables.yml
|
|
- vault.yml
|
|
|
|
pre_tasks:
|
|
- name: Run sanity checks
|
|
ansible.builtin.import_tasks: tasks/sanity.yml
|
|
tags: ["always", "sanity"]
|
|
- name: Populate service facts
|
|
ansible.builtin.service_facts:
|
|
tags: ["nomad", "consul"]
|
|
- name: Run debug tasks
|
|
ansible.builtin.import_tasks: tasks/debug.yml
|
|
tags: [never, debug]
|
|
- name: Populate device specific variables
|
|
ansible.builtin.import_tasks: tasks/interpolated_variables.yml
|
|
tags: ["always"]
|
|
- name: Ensure we have up-to-date packages
|
|
ansible.builtin.import_tasks: tasks/packages.yml
|
|
tags: ["packages", "update"]
|
|
- name: Set clean nomad_jobs_dir variable
|
|
ansible.builtin.set_fact:
|
|
clean_nomad_jobs: true
|
|
tags: ["never", "clean"]
|
|
|
|
tasks:
|
|
- name: Configure cluster NFS mounts
|
|
ansible.builtin.import_tasks: tasks/cluster_storage.yml
|
|
tags: ["storage"]
|
|
when:
|
|
- is_nomad_client or is_nomad_server or is_shared_storage_client
|
|
- name: Install Docker
|
|
ansible.builtin.import_tasks: tasks/docker.yml
|
|
tags: ["docker"]
|
|
when: "'nas' not in group_names"
|
|
- name: Install and Upgrade Consul
|
|
ansible.builtin.import_tasks: tasks/consul.yml
|
|
tags: ["consul"]
|
|
when: is_consul_client or is_consul_server
|
|
- name: Install and Upgrade Nomad
|
|
ansible.builtin.import_tasks: tasks/nomad.yml
|
|
tags: ["nomad"]
|
|
when: is_nomad_client or is_nomad_server
|
|
- name: Orchestration Jobs
|
|
ansible.builtin.import_tasks: tasks/orchestration_jobs.yml
|
|
tags: ["jobs", "update"]
|
|
- name: Prometheus Node Exporter
|
|
ansible.builtin.import_tasks: tasks/service_prometheus_nodeExporter.yml
|
|
tags: ["prometheus_exporter"]
|
|
when:
|
|
- is_prometheus_node
|
|
- "'pis' in group_names"
|
|
- name: Install backup scripts
|
|
ansible.builtin.import_tasks: tasks/backups.yml
|
|
tags: ["backup", "backups"]
|
|
when: is_nomad_client or is_nomad_server
|
|
- name: Install and configure Telegraf
|
|
ansible.builtin.import_tasks: tasks/telegraf.yml
|
|
tags: ["telegraf"]
|
|
when: is_telegraf_client
|
|
- name: Pull repositories
|
|
ansible.builtin.import_tasks: tasks/pull_repositories.yml
|
|
tags: ["never", "update", "repos"]
|
|
- name: Configure log rotate
|
|
ansible.builtin.import_tasks: tasks/logrotate.yml
|
|
tags: ["logrotate"]
|
|
when: is_cluster_leader
|
|
- name: Install and configure tdarr
|
|
ansible.builtin.import_tasks: tasks/tdarr.yml
|
|
tags: ["tdarr"]
|
|
when: is_tdarr_server or is_tdarr_node
|
|
|
|
handlers:
|
|
- name: "Run handlers"
|
|
ansible.builtin.import_tasks: handlers/main.yml
|