Roles: add role documentation
This commit is contained in:
parent
94cb21daad
commit
ed03ad8573
21
roles/git-fastd-peers/README.md
Normal file
21
roles/git-fastd-peers/README.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Ansible role git-fastd-peers
|
||||
Diese Ansible role hängt von der role service-fastd-mesh bzw. service-fastd-intragate ab und sollte danach ausgeführt werden.
|
||||
|
||||
- installiert die erforderlichen git Pakete
|
||||
- erstellt die erforderlichen peers Ordner
|
||||
- klont die fastd peer repos
|
||||
|
||||
## Abhängigkeiten:
|
||||
- service-fastd-*
|
||||
|
||||
## Benötigte Variablen
|
||||
- Dictionary `meshes`
|
||||
```
|
||||
meshes:
|
||||
xx:
|
||||
...
|
||||
peers_mesh_repo: # String - https Link zum Github Repository
|
||||
peers_intragate_repo: # String - https Link zum Github Repository
|
||||
|
||||
´´´
|
||||
|
6
roles/kmod-batman/README.md
Normal file
6
roles/kmod-batman/README.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Ansible role kmod-batman
|
||||
Diese Ansible role installiert das Kernel Modul batman-adv:
|
||||
|
||||
- Linux Kernel Headers
|
||||
- Kernel Modul batman-adv
|
||||
- Userspace Tool batctl
|
33
roles/network-batman/README.md
Normal file
33
roles/network-batman/README.md
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Ansible role network-batman
|
||||
|
||||
Diese Ansible role konfiguriert batman-adv Netzwerk Interfaces.
|
||||
|
||||
- dummy interface pro mesh
|
||||
- batman-adv interface pro mesh
|
||||
- konfiguriert sysfs variablen:
|
||||
- Hop Penalty pro batman-adv interface
|
||||
|
||||
## Benötigte Variablen
|
||||
|
||||
- Dictionary `meshes`
|
||||
´´´
|
||||
meshes:
|
||||
xx:
|
||||
...
|
||||
ipv4_network:
|
||||
...
|
||||
batman:
|
||||
it: # integer: originator interval
|
||||
gw: # string: gateway mode
|
||||
mm: # boolean: multicast mode
|
||||
dat: # boolean: distributed arp table
|
||||
|
||||
´´´
|
||||
- Host Variable `magic`
|
||||
|
||||
## MAC-Adressen
|
||||
|
||||
Die MAC-Adressen der Interfaces werden aus dem IPv4-Subnetz sowie der `magic`-Nummer des Hosts berechnet.
|
||||
|
||||
xx0-prefix: `02:00`
|
||||
xxBAT-prefix: `02:01`
|
26
roles/network-fastd/README.md
Normal file
26
roles/network-fastd/README.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
# Ansible role network-fastd
|
||||
|
||||
Diese Ansible role konfiguriert Netzwerk Interfaces für fastd.
|
||||
|
||||
- xxVPN pro Mesh
|
||||
- xxigVPN pro Mesh
|
||||
|
||||
## Benötigte Variablen
|
||||
|
||||
- Dictionary `meshes`
|
||||
´´´
|
||||
meshes:
|
||||
xx:
|
||||
...
|
||||
ipv4_network:
|
||||
...
|
||||
|
||||
´´´
|
||||
- Host Variable `magic`
|
||||
|
||||
## MAC-Adressen
|
||||
|
||||
Die MAC-Adressen der Interfaces werden aus dem IPv4-Subnetz sowie der `magic`-Nummerdes Hosts berechnet.
|
||||
|
||||
xxVPN-prefix: `02:11`
|
||||
xxigVPN-prefix: `02:12`
|
51
roles/network-ffrl/README.md
Normal file
51
roles/network-ffrl/README.md
Normal file
|
@ -0,0 +1,51 @@
|
|||
# Ansible role network-ffrl
|
||||
|
||||
Diese Ansible role konfiguriert die GRE-Tunnel Interfaces, die für den Internet-Exit über Freifunk Rheinland benötigt werden.
|
||||
|
||||
## Benötigte Variablen
|
||||
- Dictionary `ffrl_exit_server` (Host Variable)
|
||||
´´´
|
||||
ffrl_exit_server:
|
||||
ffrl-a-ak-ber:
|
||||
public_ipv4_address: 185.66.195.0
|
||||
tunnel_ipv4_network: # IPv4 Tunnel Transfernetz
|
||||
tunnel_ipv4_address: # Eigene Tunnel IPv4 Adresse
|
||||
tunnel_ipv4_netmask: 255.255.255.254
|
||||
tunnel_ipv6_network: # IPv6 Tunnel Transfernetz
|
||||
tunnel_ipv6_netmask: 64
|
||||
ffrl-b-ak-ber:
|
||||
public_ipv4_address: 185.66.195.1
|
||||
tunnel_ipv4_network:
|
||||
tunnel_ipv4_address:
|
||||
tunnel_ipv4_netmask: 255.255.255.254
|
||||
tunnel_ipv6_network:
|
||||
tunnel_ipv6_netmask: 64
|
||||
ffrl-a-ix-dus:
|
||||
public_ipv4_address: 185.66.193.0
|
||||
tunnel_ipv4_network:
|
||||
tunnel_ipv4_address:
|
||||
tunnel_ipv4_netmask: 255.255.255.254
|
||||
tunnel_ipv6_network:
|
||||
tunnel_ipv6_netmask: 64
|
||||
ffrl-b-ix-dus:
|
||||
public_ipv4_address: 185.66.193.1
|
||||
tunnel_ipv4_network:
|
||||
tunnel_ipv4_address:
|
||||
tunnel_ipv4_netmask: 255.255.255.254
|
||||
tunnel_ipv6_network:
|
||||
tunnel_ipv6_netmask: 64
|
||||
ffrl-a-fra2-fra:
|
||||
public_ipv4_address: 185.66.194.0
|
||||
tunnel_ipv4_network:
|
||||
tunnel_ipv4_address:
|
||||
tunnel_ipv4_netmask: 255.255.255.254
|
||||
tunnel_ipv6_network:
|
||||
tunnel_ipv6_netmask: 64
|
||||
ffrl-b-fra2-fra:
|
||||
public_ipv4_address: 185.66.194.1
|
||||
tunnel_ipv4_network:
|
||||
tunnel_ipv4_address:
|
||||
tunnel_ipv4_netmask: 255.255.255.254
|
||||
tunnel_ipv6_network:
|
||||
tunnel_ipv6_netmask: 64
|
||||
´´´
|
31
roles/network-meshbridge/README.md
Normal file
31
roles/network-meshbridge/README.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
# Ansible role network-meshbridge
|
||||
|
||||
Diese Ansible role konfiguriert die Linux Bridges für die Freifunk Meshes.
|
||||
|
||||
- linux bridge pro mesh inklusive IP-Konfiguration
|
||||
- konfiguriert sysfs variablen:
|
||||
- hash_max
|
||||
|
||||
## Benötigte Variablen
|
||||
|
||||
- Dictionary `meshes`
|
||||
´´´
|
||||
meshes:
|
||||
xx:
|
||||
...
|
||||
ipv4_network:
|
||||
...
|
||||
ipv6:
|
||||
ula:
|
||||
- fdxx.../48 # ipv6 ula prefix
|
||||
public:
|
||||
- 2xxx.../48 # ipv6 public prefix
|
||||
|
||||
´´´
|
||||
- Host Variable `magic`
|
||||
|
||||
## MAC-Adressen
|
||||
|
||||
Die MAC-Adressen der Interfaces werden aus dem IPv4-Subnetz sowie der `magic`-Nummer des Hosts berechnet.
|
||||
|
||||
xxBR-prefix: `02:10`
|
12
roles/network-routetables/README.md
Normal file
12
roles/network-routetables/README.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Ansible role network-routetables
|
||||
|
||||
Diese Ansible role legt die erforderlichen routing tables an.
|
||||
|
||||
## Benötigte Variablen
|
||||
|
||||
- `routing_tables`
|
||||
´´´
|
||||
routing_tables:
|
||||
$name: # integer
|
||||
|
||||
´´´
|
11
roles/server-basic/README.md
Normal file
11
roles/server-basic/README.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Ansible role server-basic
|
||||
|
||||
Diese Ansible role installiert Pakete, die auf allen MWU-Server benötigt werden.
|
||||
|
||||
- installiert Pakete, die auf allen Servern benötigt werden
|
||||
- setzt als default Editor
|
||||
- setzt die Zeitzone auf Europe/Berlin
|
||||
|
||||
## Benötigte Variablen
|
||||
|
||||
- Liste `packages` (Rollen Variable)
|
29
roles/service-dhcpd/README.md
Normal file
29
roles/service-dhcpd/README.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Ansible role service-dhcpd
|
||||
|
||||
Diese Ansible role installiert und konfiguriert den isc dhcp daemon.
|
||||
Wir nutzen diesen nur zur Verteilung von IPv4-Adressen.
|
||||
|
||||
- installiert isc-dhcp-server
|
||||
- setzt interfaces in /etc/default/isc-dhcp-server
|
||||
- schreibt dhcpd.conf
|
||||
|
||||
## Benötigte Variablen
|
||||
|
||||
- Dictionary `meshes`
|
||||
´´´
|
||||
meshes:
|
||||
xx:
|
||||
...
|
||||
site_name: # string
|
||||
site_code: # string
|
||||
ipv4_network:
|
||||
dnssl:
|
||||
- $domain # string
|
||||
iface_mtu: # integer
|
||||
´´´
|
||||
- Host Variable `magic`
|
||||
- Host Variable `ipv4_dhcp_range`
|
||||
|
||||
## DHCP Range
|
||||
|
||||
In der Host-Variable `ipv4_dhcp_range` wird als Integer die Nummer des /22 Blocks aus `ipv4_network` definiert, welcher als DHCP Range verwendet werden soll. Dem Gateway Lotuswurzel ist die DHCP-Range 10.X.16.0-10.X.19.255 zugewiesen. Diese ist der 4. /22er Block, also wird in der Host-Variable für die Lotuswurzel `4` geschrieben.
|
38
roles/service-fastd-intragate/README.md
Normal file
38
roles/service-fastd-intragate/README.md
Normal file
|
@ -0,0 +1,38 @@
|
|||
# Ansible role service-fastd-intragate
|
||||
|
||||
Diese Ansible role installiert und konfiguriert die fastd-Instanz für die Intra-Server Kommunikation.
|
||||
|
||||
- installiert fastd
|
||||
- konfiguriert xxigVPN-Instanzen
|
||||
- stellt sicher, dass die Instanz-Verzeichnisse existieren
|
||||
- schreibt fastd.conf
|
||||
- schreibt secret.conf
|
||||
- der private fastd Schlüssel wird aus dem Admin passwordstore gelesen
|
||||
|
||||
## Benötigte Variablen
|
||||
|
||||
- Dictionary `meshes`
|
||||
´´´
|
||||
meshes:
|
||||
xx:
|
||||
...
|
||||
site_number: # integer
|
||||
´´´
|
||||
- Dictionary `fastd_secrets` (Host-Variable)
|
||||
´´´
|
||||
fastd_secrets:
|
||||
mzigVPN: "{{ lookup('passwordstore', 'fastd/mzigVPN/sparegate4') }}"
|
||||
wiigVPN: "{{ lookup('passwordstore', 'fastd/wiigVPN/sparegate4') }}"
|
||||
...
|
||||
|
||||
´´´
|
||||
|
||||
## fastd Secrets
|
||||
|
||||
Die privaten Schlüssel der fastd Instanzen sind sehr sensible Informationen, weshalb wir diese in ein nicht öffentliches passwordstore ausgelagert haben.
|
||||
Bevor man ein Gateway aufsetzt, müssen die privaten Schlüssel für alle benötigten fastd Instanzen generiert und im passwordstore hinterlegt werden.
|
||||
Das Dictionary `fastd_secrets` folgt dem Aufbau:
|
||||
```
|
||||
fastd_secrets:
|
||||
$Instanz-Name: "{{ lookup('passwordstore', '$Pfad-im-passwordstore') }}"
|
||||
```
|
38
roles/service-fastd-mesh/README.md
Normal file
38
roles/service-fastd-mesh/README.md
Normal file
|
@ -0,0 +1,38 @@
|
|||
# Ansible role service-fastd-mesh
|
||||
|
||||
Diese Ansible role installiert und konfiguriert die fastd-Instanz für die Knoten Kommunikation.
|
||||
|
||||
- installiert fastd
|
||||
- konfiguriert xxVPN-Instanzen
|
||||
- stellt sicher, dass die Instanz-Verzeichnisse existieren
|
||||
- schreibt fastd.conf
|
||||
- schreibt secret.conf
|
||||
- der private fastd Schlüssel wird aus dem Admin passwordstore gelesen
|
||||
|
||||
## Benötigte Variablen
|
||||
|
||||
- Dictionary `meshes`
|
||||
´´´
|
||||
meshes:
|
||||
xx:
|
||||
...
|
||||
site_number: # integer
|
||||
´´´
|
||||
- Dictionary `fastd_secrets` (Host-Variable)
|
||||
´´´
|
||||
fastd_secrets:
|
||||
mzVPN: "{{ lookup('passwordstore', 'fastd/mzVPN/sparegate4') }}"
|
||||
wiVPN: "{{ lookup('passwordstore', 'fastd/wiVPN/sparegate4') }}"
|
||||
...
|
||||
|
||||
´´´
|
||||
|
||||
## fastd Secrets
|
||||
|
||||
Die privaten Schlüssel der fastd Instanzen sind sehr sensible Informationen, weshalb wir diese in ein nicht öffentliches passwordstore ausgelagert haben.
|
||||
Bevor man ein Gateway aufsetzt, müssen die privaten Schlüssel für alle benötigten fastd Instanzen generiert und im passwordstore hinterlegt werden.
|
||||
Das Dictionary `fastd_secrets` folgt dem Aufbau:
|
||||
```
|
||||
fastd_secrets:
|
||||
$Instanz-Name: "{{ lookup('passwordstore', '$Pfad-im-passwordstore') }}"
|
||||
```
|
3
roles/service-haveged/README.md
Normal file
3
roles/service-haveged/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Ansible role service-haveged
|
||||
|
||||
Diese Ansible role installiert und startet den haveged daemon.
|
7
roles/service-ntpd/README.md
Normal file
7
roles/service-ntpd/README.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Ansible role service-ntpd
|
||||
|
||||
Diese Ansible role installiert und startet den haveged daemon.
|
||||
|
||||
- stellt sicher, dass systemd-timesyncd nicht läuft
|
||||
- installiert ntp pakete
|
||||
- startet den ntp daemon
|
23
roles/service-radvd/README.md
Normal file
23
roles/service-radvd/README.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Ansible role service-radvd
|
||||
|
||||
Diese Ansible role installiert und konfiguriert den radvd daemon.
|
||||
|
||||
- installiert radvd
|
||||
- aktiviert systemd unit
|
||||
- schreibt radvd.conf
|
||||
|
||||
## Benötigte Variablen
|
||||
|
||||
- Dictionary `meshes`
|
||||
´´´
|
||||
meshes:
|
||||
xx:
|
||||
...
|
||||
ipv6:
|
||||
ula:
|
||||
- # ULA-Prefix - String
|
||||
public:
|
||||
- # Public-Prefix - String
|
||||
iface_mtu: # Integer
|
||||
´´´
|
||||
- Host Variable `magic`
|
Loading…
Reference in a new issue