1.9 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	Roles
I playbook possono diventare complessi quando sono responsabili della configurazione di numerosi sistemi diversi, ciascuno con più attività da gestire. Per affrontare questa complessità, Ansible offre la possibilità di organizzare le attività in una struttura di directory denominata roles.
In questa configurazione, i playbook richiamano i ruoli anziché i singoli task. Questo approccio consente di raggruppare le attività in unità logiche, facilitando il riutilizzo dei ruoli in altri playbook.
---
# Tools for terminal
- name: TERMINAL - Kitty, Tmux, Fish
  ansible.builtin.apt:
    pkg:
      - kitty
      - tmux
      - fish
    state: present
Inclusione di un ruolo in un playbook
Per utilizzare un ruolo all’interno di un playbook, è necessario richiamarlo tramite la keyword roles, seguita dall’elenco dei ruoli da eseguire:
- hosts: server
  roles:
    - test-role
Struttura
Il comando per la creazione di un ruolo è ansible-galaxy init test-role. Questo comando non solo consente di inizializzare un nuovo ruolo, ma offre anche la possibilità di cercare e installare ruoli definiti da altri utenti disponibili online.
Al termine dell’esecuzione del comando, viene generata una directory denominata come il ruolo stesso, con la seguente struttura:
Tasks: la directory Tasks contiene l'elenco dei task eseguiti dal ruolo, specificati nel filemain.ymlHandlers: raccoglie gli handlers che possono essere utilizzati all'interno di questo ruolo. Si tratta di task speciali che vengono eseguiti solo quando sono stati notificati da altri taskDefaults: include le variabili predefinite utilizzate all’interno del ruoloVars: contiene ulteriori variabiliFiles: memorizza i file che devono essere distribuiti sui vari host nel corso dell’esecuzione del ruoloMeta: conserva i metadati relativi al ruolo
