systemli.etherpad
ansible-role-etherpad
Rôle pour installer, configurer et maintenir Etherpad Lite. Vous pouvez utiliser ce rôle pour configurer Etherpad avec les solutions de stockage suivantes : MySQL (ou MariaDB), Redis et PostgreSQL.
Actuellement, seul MySQL permet de créer l'utilisateur et la base de données. Pour PostgreSQL, ces opérations doivent être effectuées manuellement. (Si vous souhaitez ou devez automatiser ces tâches, vous pouvez probablement utiliser ce rôle : geerlingguy.postgresql).
Ce playbook permet également d'installer certains plugins pour Etherpad :
- ep_delete_after_delay (Pour supprimer des pads inactifs après un certain temps)
- ep_headerauth (Pour authentifier les utilisateurs via l'en-tête HTTP - Par exemple utile lors de l'utilisation d'un portail SSO comme LemonLDAP::NG)
Variables du Rôle
Le playbook nécessite une configuration spéciale. Vous devez définir etherpad_api_key
!
etherpad_db_type: dirty
Cette variable permet de définir le type de stockage backend que nous souhaitons utiliser pour Etherpad (la valeur par défaut est dirty, veuillez ne pas utiliser cette valeur en environnement de production). Cette variable doit être définie sur l'une de ces valeurs : dirty, mysql, redis ou 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"
Ces variables permettent de configurer Etherpad avec PostgreSQL. Pour pouvoir les utiliser, vous devez définir la variable etherpad_db_type
sur postgres
.
etherpad_headerauth_username_header: x-authenticated-user
etherpad_headerauth_displayname_header: x-authenticated-name
Valeurs de configuration pour le plugin ep_headerauth (authentification avec en-tête HTTP). Si vous souhaitez utiliser ce plugin, etherpad_trust_proxy
et etherpad_require_authentication
doivent être définis sur True.
Pour plus d'informations sur les variables disponibles (et leurs valeurs par défaut) : voir defaults/main.yml
Exemple de Playbook
- hosts: servers
roles:
- { role: systemli.etherpad }
Tests et Développement
Tests
Pour développer et tester le rôle, nous utilisons Github Actions, Molecule et Vagrant. Dans l'environnement local, vous pouvez facilement tester le rôle avec
Exécutez des tests locaux avec :
```bash
molecule test
```
Cela nécessite l'installation de Molecule, Vagrant et python-vagrant
.
Licence
GPLv3
Informations sur l'Auteur
ansible-galaxy install systemli.etherpad