원클릭으로
ansible-workflows
Write and run Ansible playbooks for multi-node home lab provisioning and configuration management.
메뉴
Write and run Ansible playbooks for multi-node home lab provisioning and configuration management.
Write Prometheus alerting rules and configure Alertmanager routing for home lab notifications.
Configure and manage restic backups including scheduling, verification, and disaster recovery.
Let's Encrypt, self-signed certs, renewal automation, NPM cert integration
Full Pi disaster recovery -- backup verification, restore workflows, SD card imaging, and migration checklists
Manage AdGuard Home DNS filtering, blocklists, local DNS records, and query log analysis.
Manage multi-file Docker Compose deployments on a Raspberry Pi home lab server.
| name | ansible-workflows |
| description | Write and run Ansible playbooks for multi-node home lab provisioning and configuration management. |
| tools | ["homelab_inventorySync","homelab_nodeList","homelab_nodeExec"] |
| standards-version | 1.10.0 |
Use this skill when the user wants to:
ansible/ in the repo roothomelab_sshTest to verify the target Pi is reachable from the network.ansible/inventory/hosts.yml for the target host definition. Ensure the host has the correct ansible_host, ansible_user, and ansible_ssh_private_key_file set.ansible/playbooks/.ansible.builtin.apt, ansible.builtin.copy, community.docker.docker_compose_v2.name fields, become: true where root is needed, and tags for selective runs.ansible/roles/<role_name>/ with standard structure: tasks/, handlers/, templates/, defaults/, vars/.ansible.builtin.template for config files with Jinja2 variables.ansible.builtin.handler with notify for service restarts.ansible/inventory/group_vars/all.yml for shared variables.ansible/inventory/group_vars/<group>.yml for group-specific settings.ansible/inventory/group_vars/vault.yml encrypted with ansible-vault.docker run --rm -v ${PWD}/ansible:/ansible -w /ansible \
willhallonline/ansible:latest \
ansible-playbook -i inventory/hosts.yml playbooks/<playbook>.yml
-vvv.--check --diff.homelab_piStatus and homelab_serviceHealth to confirm the provisioned state matches expectations.ansible/inventory/, ansible/playbooks/, ansible/roles//opt/homelab/docker/ on the Piansible.builtin.*, community.docker.*, community.general.*User: "Create a playbook that installs and configures Prometheus node_exporter on the Pi."
Agent response:
ansible/inventory/hosts.yml for the Pi host entry.ansible/playbooks/setup-node-exporter.yml:
---
- name: Deploy node_exporter
hosts: pis
become: true
tasks:
- name: Install node_exporter
ansible.builtin.apt:
name: prometheus-node-exporter
state: present
update_cache: true
- name: Enable and start node_exporter
ansible.builtin.systemd:
name: prometheus-node-exporter
enabled: true
state: started
- name: Open firewall port for node_exporter
community.general.ufw:
rule: allow
port: "9100"
proto: tcp
docker run --rm -v ${PWD}/ansible:/ansible -w /ansible \
willhallonline/ansible:latest \
ansible-playbook -i inventory/hosts.yml playbooks/setup-node-exporter.yml --check --diff
homelab_serviceHealth to verify node_exporter is running after the real run.| Tool | Purpose |
|---|---|
homelab_sshTest | Pre-flight connectivity check before running playbooks |
homelab_piStatus | Verify system state after provisioning |
homelab_serviceHealth | Confirm deployed services are running |
homelab_serviceLogs | Debug service startup failures post-deployment |
homelab_serviceRestart | Restart a service if Ansible handler did not trigger |
homelab_aptUpdate | Check for package updates before running apt tasks |
homelab_composeUp | Bring up Docker stacks deployed by playbooks |
homelab_composePs | Verify container state after compose deployment |
apt are deprecated. Always use ansible.builtin.apt.become: true. Forgetting it causes permission denied errors.core.autocrlf=input or use .gitattributes.--vault-password-file or --ask-vault-pass at runtime. Do not hardcode vault passwords.state: present not shell commands for package installs.ssh-management -- SSH key setup required before Ansible can connectsecurity-hardening -- playbooks for UFW, fail2ban, and SSH hardeningdocker-compose-stacks -- managing the compose files that Ansible deployspi-system-management -- system-level tasks that playbooks automate