Automation Task: Writing Reusable Ansible Roles¶
Description¶
Creating standardized and modular Ansible roles for configuration management.
Role Structure¶
my-role/
├── tasks/
│ └── main.yml
├── handlers/
│ └── main.yml
├── templates/
│ └── config.j2
├── vars/
│ └── main.yml
└── meta/
└── main.yml
Best Practices¶
- Use variables for dynamic configuration
- Separate logic into
tasks/
,handlers/
,defaults/
- Document variables in
README.md
Example Usage¶
- hosts: servers
roles:
- role: my-role
vars:
config_port: 8080
Tools & Commands¶
ansible-galaxy init
,ansible-lint
,ansible-playbook