From ansible
Provides examples and best practices for writing Ansible playbooks to automate configuration management, server setup, and infrastructure orchestration.
npx claudepluginhub thebushidocollective/han --plugin ansibleThis skill cannot use any tools. It operates in read-only mode without the ability to modify files or execute commands.
Writing and organizing Ansible playbooks for configuration management.
Guides Ansible playbook creation, roles, inventories, project structure, modules, handlers, error handling, and debugging YAML syntax, module failures, variable precedence.
Generates Ansible playbooks, roles, inventories, and configs for server provisioning, app deployment, service configuration, and idempotent automation.
Generates or scaffolds Ansible playbooks, roles, tasks, handlers, inventory, and vars from requests. Handles full projects, snippets, or docs with templates and best practices.
Share bugs, ideas, or general feedback.
Writing and organizing Ansible playbooks for configuration management.
---
- name: Configure web servers
hosts: webservers
become: yes
vars:
http_port: 80
app_version: "1.0.0"
tasks:
- name: Install nginx
apt:
name: nginx
state: present
update_cache: yes
- name: Start nginx
service:
name: nginx
state: started
enabled: yes
- name: Deploy application
copy:
src: ./app
dest: /var/www/html
owner: www-data
mode: '0755'
[webservers]
web1.example.com
web2.example.com
[databases]
db1.example.com
[production:children]
webservers
databases
- name: Install packages
apt:
name:
- nginx
- git
- python3
state: present
- name: Copy configuration
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
backup: yes
notify: Restart nginx
handlers:
- name: Restart nginx
service:
name: nginx
state: restarted
roles/
├── webserver/
│ ├── tasks/
│ │ └── main.yml
│ ├── handlers/
│ │ └── main.yml
│ └── templates/
│ └── nginx.conf.j2
- name: Ensure directory exists
file:
path: /opt/app
state: directory
mode: '0755'