Rolurile Ansible oferă o modalitate standardizată de a modulariza sarcini, handleri, variabile și șabloane pentru reutilizare clară.
🔗 Related: Fișă recapitulativă de bază Ansible · Ghid de pornire rapidă Ansible · Exemple de playbook-uri Ansible
Structura standard a directoarelor unui rol
Generați structura unui rol folosind ansible-galaxy init role_name:
roles/
common/
tasks/
main.yml # Punctul principal de intrare pentru sarcinile rulate de rol
handlers/
main.yml # Handleri declanșați prin notify
templates/ # Șabloane Jinja2 (.j2) referite prin modulul template
files/ # Fișiere statice și scripturi transferate prin modulul copy
vars/
main.yml # Variabile cu prioritate ridicată specifice acestui rol
defaults/
main.yml # Variabile implicite cu prioritate redusă (suprascriibile)
meta/
main.yml # Dependențele rolului și metadatele autorului
Utilizarea rolurilor în Playbook-uri
---
- name: Apply common and webserver roles
hosts: webservers
become: true
roles:
- role: common
- role: nginx
vars:
nginx_port: 8080
Prioritatea variabilelor în roluri
Variabilele definite în defaults/main.yml au cea mai mică prioritate în Ansible, servind ca valori implicite ușor de suprascris.
Variabilele din vars/main.yml au prioritate ridicată și sunt rezervate pentru logica internă a rolului.