systemli.etherpad
ansible-role-etherpad
Rolle zur Installation, Konfiguration und Wartung von Etherpad Lite. Sie können diese Rolle verwenden, um Etherpad mit folgenden Speicherlösungen zu konfigurieren: MySQL (oder MariaDB), Redis und PostgreSQL.
Derzeit erlaubt nur MySQL die Erstellung von Benutzer und Datenbank. Bei PostgreSQL sollten diese Operationen von Ihnen selbst durchgeführt werden (Wenn Sie diese Aufgaben automatisieren möchten, können Sie wahrscheinlich diese Rolle verwenden: geerlingguy.postgresql).
Dieses Playbook ermöglicht auch die Installation einiger Plugins für Etherpad:
- ep_delete_after_delay (Um inaktive Pads nach einer Verzögerung zu löschen)
- ep_headerauth (Um Benutzer über den HTTP-Header zu authentifizieren - z.B. nützlich bei der Nutzung eines SSO-Portals wie LemonLDAP::NG)
Rollenvariablen
Das Playbook benötigt eine spezielle Konfiguration. Sie müssen den etherpad_api_key
festlegen!
etherpad_db_type: dirty
Diese Variable ermöglicht es, zu definieren, welche Art von Backend-Speicher wir für Etherpad verwenden möchten (Standardwert ist dirty, bitte verwenden Sie diesen Wert nicht in einer Produktionsumgebung). Diese Variable muss auf einen der folgenden Werte gesetzt werden: dirty, mysql, redis oder postgres.
etherpad_postgres_database_host: localhost
etherpad_postgres_database_name: etherpad
etherpad_postgres_database_user: etherpad
etherpad_postgres_database_password:
etherpad_postgres_database_port: 5432
etherpad_postgres_database_ssl_policy: "disabled"
Diese Variablen ermöglichen es, Etherpad mit PostgreSQL zu konfigurieren. Damit Sie sie verwenden können, müssen Sie die Variable etherpad_db_type
auf postgres
setzen.
etherpad_headerauth_username_header: x-authenticated-user
etherpad_headerauth_displayname_header: x-authenticated-name
Konfigurationswerte für das ep_headerauth Plugin (Authentifizierung mit HTTP-Header). Wenn Sie dieses Plugin verwenden möchten, müssen etherpad_trust_proxy
und etherpad_require_authentication
auf True gesetzt werden.
Für weitere Informationen über verfügbare Variablen (und deren Standardwerte): siehe defaults/main.yml
Beispiel-Playbook
- hosts: servers
roles:
- { role: systemli.etherpad }
Tests & Entwicklung
Tests
Für die Entwicklung und das Testen der Rolle verwenden wir Github Actions, Molecule und Vagrant. In der lokalen Umgebung können Sie die Rolle einfach testen mit
Führen Sie lokale Tests aus mit:
```bash
molecule test
```
Es sind Molecule, Vagrant und python-vagrant
erforderlich.
Lizenz
GPLv3