hlab/ansible/playbooks
Fabio Sinibaldi e05314cbc1 fixes to nginx conf 2026-07-27 18:08:05 +02:00
..
roles fixes to nginx conf 2026-07-27 18:08:05 +02:00
templates fix item.key reference 2026-07-24 15:00:01 +02:00
README.md Pangolin playbook info 2026-07-24 16:24:09 +02:00
authentik.yaml authentik first implementation 2026-07-27 17:21:30 +02:00
bootstrap.yaml fix missing new line in sudoers 2026-07-27 17:19:39 +02:00
pangolin.yaml Imported pangolin role from https://github.com/patelanuj21/pangolin-ansible-terraform/tree/main 2026-07-24 15:11:01 +02:00
static_nginx_page.yaml testing purposes 2026-07-27 17:21:41 +02:00
tests.yaml testing purposes 2026-07-27 17:21:41 +02:00
vpn_server.yaml Playbook vpn_server 2026-07-16 19:16:24 +02:00

README.md

Playbooks

Qui vengono riportati i playbook disponibili, descrizione e utilizzo. NB Ci si aspetta che i playbook siano idempotenti. In caso contrario e importante riportarlo nella documentazione corrente.

Bootstrap

Implementa la configurazione di base di un nodo per poter essere gestito dagli altri playbook, in particolare : - crea lutente ansible - registra le chiavi ssh degli utenti configurati

Target Hosts : all

Parametri

Il playbook si aspetta le seguenti variabili

ansible_authorized_keys:
    - label : <MY LABEL>
      key: <MY>

Chiamata

Per lanciare il playbook e necessario specificare lutente da utilizzare per connettersi ed esguire il playbook con lopzione -e. Lopzione -K invece permette di chiedere la password dellutente remoto

 ansible-playbook -i inventories/<INVENTORY>.yaml  playbooks/bootstrap.yaml -e 'ansible_user=<SUDO USER>' -K

VPN Server

Istanzia un server Wireguard abilitando il tunneling del traffico.

Target Hosts : wireguard_server

Generazione chiavi e configurazioni dei Peer

Genera in /wg_clients/< ANSIBLE_HOSTNAME >/ i file di configurazione per i peer configurati.

NB Il playbook e a conoscenza della chiave privata del peer solo se e stato necessario generarla durante lesecuzione. In caso contrario viene riportata solo la chiave pubblica ed e compito dellutente inserire la chiave privata.

Il playbook genera le chiavi nei seguenti casi : - nessuna chiave pubblica e stata fornita e il peer non e gia configurato sul server - Force Regeneration = True

Parametri

Il playbook si aspetta le seguenti variabili

wg_interface: wg0
wg_port: 51820
wg_server_address: 192.168.101.1/32

wg_peers:  
  - name: <MY LABEL>
    # publicKey: 
    ip: "192.168.101.4/32"
    allowedIPs : 
      - "192.168.101.0/24"
      - "10.22.0.0/16"
    forceRegeneration: False

Pangolin

Il playbook installa docker e docker compose. Attraverso docker compose vengono poi lanciati i container per pangolin, gerbil e traefik.

Il playbook utilizza : - geerlingguy.docker attraverso ansible galaxy - I ruoli common e pangolin definiti in pangolin-ansible-terraform, riportati staticamente come ruolo pangolin

I parametri attesi dal playbook sono quelli definiti nei ruoli da cui dipende.