Snelle referentie

Ansible Roles Structuur & Ontwerp Spiekbrief

Beknopte handleiding voor directorystructuur, taken, handlers, variabelen, standaarden, sjablonen en meta-afhankelijkheden van Ansible-rollen.

· Gepubliceerd

Ansible Roles bieden een gestandaardiseerde manier om automatiseringstaken, handlers, variabelen en sjablonen te modulariseren.

🔗 Related: Ansible Basis Spiekbrief · Ansible Snelstartgids · Ansible Playbook Voorbeelden

Standaard mapstructuur van een rol

Genereer een rolstructuur met ansible-galaxy init role_name:

roles/
  common/
    tasks/
      main.yml          # Primair toegangspunt voor taken die door de rol worden uitgevoerd
    handlers/
      main.yml          # Handlers die worden geactiveerd via notify
    templates/          # Jinja2-sjablonen (.j2) gebruikt door template-module
    files/              # Statische bestanden en scripts overgebracht via copy-module
    vars/
      main.yml          # Variabelen met hoge prioriteit specifiek voor deze rol
    defaults/
      main.yml          # Standaardvariabelen met lage prioriteit (overschrijfbaar)
    meta/
      main.yml          # Rolafhankelijkheden en metagegevens van auteurs

Rollen gebruiken in Playbooks

---
- name: Apply common and webserver roles
  hosts: webservers
  become: true
  roles:
    - role: common
    - role: nginx
      vars:
        nginx_port: 8080

Prioriteit van variabelen in rollen

Variabelen in defaults/main.yml hebben de laagste prioriteit en kunnen veilig worden overschreven in inventories of playbooks.

Variabelen in vars/main.yml hebben een hoge prioriteit en zijn bedoeld voor constante logica binnen de rol.


Referenties

Verwante onderwerpen