42 lines
1.6 KiB
Makefile
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
|