Update playbook docs
This commit is contained in:
parent
1007d542a8
commit
100b206596
|
|
@ -14,9 +14,6 @@ Qui vengono riportati i playbook disponibili, descrizione e utilizzo.
|
|||
- [Borg Backups](#borg-backups)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Bootstrap
|
||||
|
||||
Implementa la configurazione di base di un nodo per poter essere gestito dagli altri playbook, in particolare :
|
||||
|
|
@ -82,13 +79,73 @@ Il playbook installa docker e docker compose. Attraverso docker compose vengono
|
|||
|
||||
Il playbook utilizza :
|
||||
- [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) attraverso ansible galaxy
|
||||
- I ruoli common e pangolin definiti in [pangolin-ansible-terraform](https://github.com/patelanuj21/pangolin-ansible-terraform/tree/main), riportati staticamente come ruolo *pangolin*
|
||||
|
||||
- Il ruolo ***prepare_node***
|
||||
- Il ruolo ***pangolin*** preso da [pangolin-ansible-terraform](https://github.com/patelanuj21/pangolin-ansible-terraform/tree/main)
|
||||
|
||||
I parametri attesi dal playbook sono quelli definiti nei ruoli da cui dipende.
|
||||
|
||||
#### Forgejo
|
||||
#### Authentik
|
||||
#### Nextcloud
|
||||
#### Static Nginx Page
|
||||
#### Borg Backups
|
||||
### Forgejo
|
||||
Il playbook installa docker e docker compose. Attraverso docker compose vengono poi lanciati container per [forgejo](https://forgejo.org/) e [newt_client](https://docs.pangolin.net/manage/sites/install-site).
|
||||
|
||||
Il playbook utilizza :
|
||||
- [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) attraverso ansible galaxy
|
||||
- I ruoli ***forgejo*** e ***newt_client***
|
||||
|
||||
### Authentik
|
||||
Il playbook installa docker e docker compose. Attraverso docker compose vengono poi lanciati container per [authentik](https://docs.goauthentik.io/) e [newt_client](https://docs.pangolin.net/manage/sites/install-site).
|
||||
|
||||
Il playbook utilizza :
|
||||
- [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) attraverso ansible galaxy
|
||||
- [ax-bzh.authentik](https://galaxy.ansible.com/ui/standalone/roles/ax-bzh/authentik/documentation/) attraverso ***ansible galaxy***
|
||||
- Il ruolo ***newt_client***
|
||||
|
||||
### Nextcloud
|
||||
Il playbook installa docker e docker compose. Attraverso docker viene poi lanciato il container per [Nextcloud AIO](https://github.com/nextcloud/all-in-one) e [newt_client](https://docs.pangolin.net/manage/sites/install-site).
|
||||
|
||||
Il playbook utilizza :
|
||||
- [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) attraverso ansible galaxy
|
||||
- I ruoli ***newt_client*** e ***nextcloud_aio***
|
||||
|
||||
### Static Nginx Page
|
||||
Il playbook installa docker e docker compose. Attraverso docker viene poi lanciato il container per [Nginx](https://nginx.org/) e [newt_client](https://docs.pangolin.net/manage/sites/install-site).
|
||||
|
||||
Il playbook utilizza :
|
||||
- [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) attraverso ansible galaxy
|
||||
- I ruoli ***newt_client*** e ***nginx***
|
||||
|
||||
### Borg Backups
|
||||
Il playbook configura sia i client che il server per i backup effettuati con [borg](https://www.borgbackup.org/). I client vengono risolti dinamicamente verificando la presenza della seguente configurazione in esempio:
|
||||
|
||||
```
|
||||
configure_borg_client: True
|
||||
borg_repos:
|
||||
- name: test
|
||||
borg_passphrase: "dummy_secret"
|
||||
paths_to_backup:
|
||||
- "/home/{{ ansible_user }}"
|
||||
- "/proc/version"
|
||||
```
|
||||
|
||||
Per ogni client vengono configurati :
|
||||
- l'utente e relative credenziali per connettersi al borg server
|
||||
- Un servizio systemd **borg\_backup.service** e relativo timer **borg\_backup.timer** per eseguire il backup
|
||||
- Uno script che esegue effettivamente il backup **"/home/{{borg_user}}/backup\_script.sh"** verso *"ssh://{{ borg\_user }}@{{ borg\_backup_server }}/./"*
|
||||
|
||||
Sul server vengono configurati:
|
||||
- L'utente con cui eseguire borg service
|
||||
- Le credenziali attese utilizzate dai vari client e i rispettivi path permessi per eseguire i report.
|
||||
|
||||
Sul server i permessi concessi ai vari client vengono limitati definendo su ***/home/{{borg\_user}}/.ssh/authorized\_keys*** le limitazioni di path (accesso solo al proprio repo) e di operation (solo ***"borg serve"***) con la seguente istruzione :
|
||||
```
|
||||
command=\"cd {{ borg_pool }}/{{ item.host }};borg serve --restrict-to-path {{ borg_pool }}/{{ item.host }}\",restrict
|
||||
```
|
||||
|
||||
E' possibile configurare il server per servire borg anche con altre credenziali e path, per casi non coperti dal playbook (e.g. borg backups usato direttamente da Nextcloud AIO) attraverso il seguente attributo:
|
||||
|
||||
```
|
||||
borg_auth_users:
|
||||
- host: fabotest
|
||||
key: "ssh-rsa ********"
|
||||
```
|
||||
|
||||
Il playbook utilizza il role ***borg***
|
||||
|
|
|
|||
Loading…
Reference in New Issue