You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible-homelab/Makefile

69 lines
1.8 KiB
Makefile

#!/usr/bin/make -f
all: deps bootstrap homelab
SHELL := /bin/bash
bootstrap:
ansible-playbook playbooks/bootstrap.yml -K -e ansible_ssh_user=cianhatton -e ansible_ssh_private_key_file=~/.ssh/id_rsa
qnap:
ansible-playbook playbooks/setup-homelab.yml --limit qnap
services:
ansible-playbook playbooks/setup-homelab.yml --tags services
qnap-services:
ansible-playbook playbooks/setup-homelab.yml --tags services --limit qnap
snunmu-services:
ansible-playbook playbooks/setup-homelab.yml --tags services --limit snunmu
snunmu:
ansible-playbook playbooks/setup-homelab.yml --limit snunmu
homelab:
ansible-playbook playbooks/setup-homelab.yml
verify:
ansible-playbook playbooks/verify-homelab.yml
venv:
source ./venv/bin/activate
deps: venv
pip install --upgrade pip
pip install -r requirements.txt
ansible-galaxy install -r requirements.yml
format:
scripts/format_all_yaml.sh
lint-all:
make lint dir=host_vars
make lint dir=group_vars
make lint dir=roles
make lint dir=playbooks
lint:
ansible-lint $(dir) --exclude "roles/sprat.*" --exclude roles/docker_restore_container --exclude "roles/geerlingguy.*" --exclude collections --exclude .github
backup: deps
ansible-playbook playbooks/backup-docker-volumes.yml
backup-snunmu: deps
ansible-playbook playbooks/backup-docker-volumes.yml --limit snunmu
backup-qnap: deps
ansible-playbook playbooks/backup-docker-volumes.yml --limit qnap
backup-qnap-monthly: deps
ansible-playbook playbooks/backup-docker-volumes.yml --limit qnap -e schedule=monthly
backup-qnap-dirs: deps
ansible-playbook playbooks/backup-directories.yml --limit qnap
restore: deps
ansible-playbook playbooks/restore-docker-volumes.yml -e volume_name="$(volume_name)" --limit "$(host)"
cron:
ansible-playbook playbooks/setup-homelab.yml --tags cron