- Jinja 80.4%
- Svelte 16.5%
- Shell 3.1%
| roles | ||
| script_sauvegrade_externe | ||
| .ansible-vault-password.dist | ||
| .gitignore | ||
| .gitmodules | ||
| add_user_mobilizon.yml | ||
| apt.yml | ||
| benevalibre.yml | ||
| dehydrated.yml | ||
| etherpad.j2 | ||
| etherpad.yml | ||
| force_certificates_generation_dehydrated.yml | ||
| framadate.yml | ||
| homepage.yml | ||
| hosts.j2 | ||
| hosts.yml | ||
| HOWTO_SUBMODULE | ||
| kanboard.yml | ||
| lemonldap.yml | ||
| locale.yml | ||
| mobilizon.yml | ||
| monitoring.yml | ||
| monpanierbio.yml | ||
| nginx.yml | ||
| postfix.yml | ||
| privatebin.j2 | ||
| privatebin.yml | ||
| prosody.yml | ||
| public_keys.yml | ||
| README.md | ||
| sanipasse.yml | ||
| sauvegardes.yml | ||
| sympa.yml | ||
| TODO.sanipasse | ||
| ulogger.yml | ||
| umap.yml | ||
| unattended-upgrades.yml | ||
| wordpress.yml | ||
Après tout ajout
Alimenter la page de wiki Liste des applicatifs avec modalités de montée en version et de gestion des données
Ordre d'utilisation
L'ordre de lancement des playbooks est important car certains dépendent d'autre (dehydrated/mobilizon par exemple)
Voici l'ordre pour lequel tout devrait bien fonctionner:
- public_keys.yml
- apt.yml
- locale.yml
- unattended-upgrades.yml
- nginx.yml
- dehydrated.yml (la génération de dhparam peut prendre plusieurs minutes)
- force_certificates_generation_dehydrated.yml
- postfix.yml
- wordpress.yml
- sauvegardes.yml
- privatebin.yml
- etherpad.yml
- framadate.yml
- mobilizon.yml
- add_user_mobilizon.yml
- sanipasse.yml
- homepage.yml
- prosody.yml
- kanboard.yml
- monitoring.yml
- ulogger.yml
- umap.yml
- monpanierbio.yml
TODO: c'est à lancer ou pas ?!
- hosts.yml
- lemonldap.yml
- mailman.yml
Pour tout enchainer:
export ANSIBLE_VAULT_PASSWORD_FILE=$(pwd)/.ansible-vault-password
for i in public_keys.yml \
apt.yml \
locale.yml \
unattended-upgrades.yml \
nginx.yml \
dehydrated.yml \
force_certificates_generation_dehydrated.yml \
postfix.yml \
wordpress.yml \
privatebin.yml \
etherpad.yml \
mobilizon.yml \
sanipasse.yml \
homepage.yml \
prosody.yml \
kanboard.yml \
monitoring.yml \
ulogger.yml \
umap.yml \
monpanierbio.yml \
; do
ansible-playbook -i ../inventories/vps_prod/ $i || break ;
done
Notes
NGinx
Pas de tags mais bien penser à :
- Vérifier que tout les vhosts sont bien renseignés dans l'inventaire utilisé
- Lancer ce playbook dès qu'on ajoute un vhost pour que les playbooks de déploiement puissent passer leur tâche de nginx
WordPress
Le rôle prépare le terrain et fournit des appels wp-cli main n'installe pas WP (à faire à la main)
Etherpad
Le submodule a été modifié dans sa branche "cagull" afin de supprimer la dépendance à un rôle tiers qui ne sert que pour molécule dont nous n'avons cure.
Homepage
Il est fait pour être mis à jour directement depuis git. Pour ce faire, il faut ajouter le dépôt cagull:/srv/vhost-http/vhost/homepage/homepage.bare comme remote. Par exemple:
git clone gitea@caboulot.org:rico/HomePage.git
# code code code commit !!
git push # <- ici on pousse sur le dépôt gitea@caboulot.org:rico/HomePage.git
git remote add prod cagull:/srv/vhost-http/vhost/homepage/homepage.bare # ceci n'est à faire qu'une fois
git push prod master:master # ici on pousse notre branche master locale sur la master du dépôt en prod
# et PAF !! c'est déployé
Pour les submodules
Bien penser à cloner le dépôt en faisant un :
git clone --recurse-submodules
Si le dépôt était déjà cloné, pour initialiser et télécharger les submodules, faire :
git submodule update --init
Toutes les procédure sur https://devconnected.com/how-to-add-and-update-git-submodules/
Tags
Wordpress
- nginx-vhost
- check-dependencies
- update-all
- update-cli
- update-wp-core
- update-wp-plugins
- update-wp-themes
- update-wp-translations
APT
- check-dependencies
- full-upgrade
- update-fail2ban-config
Playbook add_user_mobilizon.yml
Il faut ajouter en extra-vars email et password. La sortie d'erreur est retournée. Si elle est vide c'est bon.
ansible-playbook -i ../inventories/vps_prod add_user_mobilizon.yml --extra-vars "email=vince@caboulot.org,password=vinou"
Mots de passe dans un vault
Pour éviter l'erreur ERROR! Decryption failed on …/inventories/vps_prod/group_vars/all/vault.yml quand on lance
ansible-playbook il faut ajouter le paramètre --ask-vault-pass et
renseigner le mot de passe qui va bien interactivement.
Pour ne pas avoir à le taper à chaque fois il suffit de mettre le mot de passe dans le fichier .ansible-vault-password par exemple. De s'assurer que ce fichier est en 0600 puis d'exporter la variable d'environnement ANSIBLE_VAULT_PASSWORD_FILE qui contiendra le chemin vers ce fichier. Plus besoin de demander quoi que ce soit à ansible.