hlab/ansible/README.md

43 lines
1.5 KiB
Markdown

# Ansible
[Ansible](https://docs.ansible.com/projects/ansible/latest/index.html) e' un framework che permette di gestire e configurare diverse macchine in parallelo.
Da locale, si lanciano dei **playbooks** che vengono eseguiti su un'insieme di macchine.
L'esecuzione dei playbook avviene sulle macchine target (tipicamente usando una connessione SSH).
**E.g.** La seguente chiamata esegue l'insieme di istruzioni definite in *playbooks/bootstrap.yaml* su ogni macchina definita in *inventories/vlab1.yaml*
```
ansible-playbook -i inventories/vlab1.yaml playbooks/bootstrap.yaml
```
### Tutorial Vari
* Video Tutorial (EN) su ansible https://www.youtube.com/watch?v=1id6ERvfozo
### Configurazione
### Utilizzo
La documentazione sui playbook disponibili e' riportata nella relativa [cartella](ansible/playbooks).
#### Installare le dipendenze (roles & collections)
Prima di poter utilizzare i playbook e' necessario installare le relative dipendenze utilizzando il seguente comando:
```
ansible-galaxy install -r requirements.yaml
```
Per maggior informazioni [Ansible Galaxy](https://galaxy.ansible.com/ui/).
#### Vault secrets
I segreti dei playbook vengono gestiti tramite [ansible-vault](https://docs.ansible.com/projects/ansible/latest/cli/ansible-vault.html), che permette di proteggere con una password l'accesso alle variabili sensibili.
La configurazione corrente prevede un solo vault file in *inventories/group_vars/all/vault.yaml*
**NB** Quando viene lanciato un playbook viene richiesta la password del vault.