feat: deployable playbook

This commit is contained in:
Doni Crosby 2025-09-27 13:36:00 -04:00
parent f8e1de4f0a
commit 7ab2b719dc
23 changed files with 754 additions and 176 deletions

View file

@ -1,6 +1,6 @@
# NetBox Ansible Deployment Makefile
.PHONY: help install-collections deploy update backup check-syntax encrypt-vault decrypt-vault
.PHONY: help install-collections deploy update backup check-syntax encrypt-vault decrypt-vault traefik-status traefik-logs traefik-access-logs traefik-restart traefik-update-ca
help: ## Show this help message
@echo "NetBox Ansible Deployment"
@ -13,7 +13,7 @@ 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
ansible-playbook -i inventory/hosts.yml playbooks/deploy-netbox.yml --vault-password-file .vault-password
update: ## Update NetBox
ansible-playbook -i inventory/hosts.yml playbooks/update-netbox.yml
@ -27,16 +27,31 @@ check-syntax: ## Check Ansible playbook syntax
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
ansible-vault encrypt inventory/group_vars/netbox_servers_vault
decrypt-vault: ## Decrypt vault file
ansible-vault decrypt group_vars/netbox/vault.yml
ansible-vault decrypt inventory/group_vars/netbox_servers_vault
edit-vault: ## Edit encrypted vault file
ansible-vault edit group_vars/netbox/vault.yml
ansible-vault edit inventory/group_vars/netbox_servers_vault
dry-run: ## Run playbook in check mode (dry run)
ansible-playbook -i inventory/hosts.yml playbooks/deploy-netbox.yml --check --ask-vault-pass
ansible-playbook -i inventory/hosts.yml playbooks/deploy-netbox.yml --check --vault-password-file .vault-password
test-connection: ## Test connection to hosts
ansible netbox -i inventory/hosts.yml -m ping
traefik-status: ## Check Traefik container status
ansible netbox -i inventory/hosts.yml -m shell -a "docker compose ps" --args "chdir=/opt/traefik"
traefik-logs: ## Show Traefik container logs
ansible netbox -i inventory/hosts.yml -m shell -a "docker compose logs traefik" --args "chdir=/opt/traefik"
traefik-access-logs: ## Show Traefik access logs (JSON format)
ansible netbox -i inventory/hosts.yml -m shell -a "docker compose logs traefik | grep -E '^traefik.*access' | tail -50"
traefik-restart: ## Restart Traefik container
ansible netbox -i inventory/hosts.yml -m shell -a "docker compose restart traefik" --args "chdir=/opt/traefik"
traefik-update-ca: ## Update custom root CA certificate
ansible-playbook -i inventory/hosts.yml playbooks/deploy-netbox.yml --tags "custom-ca" --vault-password-file .vault-password