netbox-ansible/Makefile
2025-09-25 19:24:11 -04:00

42 lines
1.6 KiB
Makefile

# NetBox Ansible Deployment Makefile
.PHONY: help install-collections deploy update backup check-syntax encrypt-vault decrypt-vault
help: ## Show this help message
@echo "NetBox Ansible Deployment"
@echo "========================"
@echo ""
@echo "Available commands:"
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-20s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
install-collections: ## Install required Ansible collections
ansible-galaxy collection install -r requirements.yml
deploy: ## Deploy NetBox (requires vault password)
ansible-playbook -i inventory/hosts.yml playbooks/deploy-netbox.yml --ask-vault-pass
update: ## Update NetBox
ansible-playbook -i inventory/hosts.yml playbooks/update-netbox.yml
backup: ## Backup NetBox
ansible-playbook -i inventory/hosts.yml playbooks/backup-netbox.yml
check-syntax: ## Check Ansible playbook syntax
ansible-playbook -i inventory/hosts.yml playbooks/deploy-netbox.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/update-netbox.yml --syntax-check
ansible-playbook -i inventory/hosts.yml playbooks/backup-netbox.yml --syntax-check
encrypt-vault: ## Encrypt vault file
ansible-vault encrypt group_vars/netbox/vault.yml
decrypt-vault: ## Decrypt vault file
ansible-vault decrypt group_vars/netbox/vault.yml
edit-vault: ## Edit encrypted vault file
ansible-vault edit group_vars/netbox/vault.yml
dry-run: ## Run playbook in check mode (dry run)
ansible-playbook -i inventory/hosts.yml playbooks/deploy-netbox.yml --check --ask-vault-pass
test-connection: ## Test connection to hosts
ansible netbox -i inventory/hosts.yml -m ping