2019-12-16 22:58:06 +00:00
|
|
|
|
# Survol des playbooks Ansible
|
2019-12-16 21:27:58 +00:00
|
|
|
|
|
|
|
|
|
On découpe nos *playbooks* Ansible par rôles :
|
|
|
|
|
|
|
|
|
|
- `site.yml`: Inclu tous les autres, pratique pour tout exécuter.
|
|
|
|
|
- `pycon.yml`: Pour les pycon.fr
|
|
|
|
|
- `passbolt.yml`: Pour passbolt.
|
|
|
|
|
- `backup.yml`: Configure rsnapshot pour sauvegarder nos serveurs.
|
|
|
|
|
|
|
|
|
|
En partant de là, on peut utiliser les commandes suivantes:
|
|
|
|
|
|
|
|
|
|
D'abord installer Ansible dans un venv les dépendances :
|
|
|
|
|
|
|
|
|
|
- pip install ansible
|
2019-12-16 22:58:06 +00:00
|
|
|
|
- ansible-galaxy install -r requirements.yml
|
2019-12-16 21:27:58 +00:00
|
|
|
|
|
|
|
|
|
Puis pour jouer les *playbooks* :
|
|
|
|
|
|
|
|
|
|
- Pour tout relancer : `ansible-playbook site.yml`
|
|
|
|
|
- Pour configurer les PyCons : `ansible-playbook pycons.yml`
|
|
|
|
|
- Pour configurer Passbolt : `ansible-playbook passbolt.yml`
|
|
|
|
|
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
2019-12-16 22:58:06 +00:00
|
|
|
|
## Faire, ne pas faire
|
|
|
|
|
|
|
|
|
|
Faire : Configurer les machines : apt install, fichiers de
|
|
|
|
|
configuration, utilisateurs, ...
|
|
|
|
|
|
|
|
|
|
Ne pas faire : Deployer. C'est le rôle de la CI (Github Actions, ...).
|
2019-03-22 08:57:51 +00:00
|
|
|
|
|
2019-07-04 20:24:35 +00:00
|
|
|
|
|
2019-12-16 22:58:06 +00:00
|
|
|
|
# Servers
|
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
## TODO
|
2018-12-20 22:54:21 +00:00
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
- [ ] Rédiger le ansible pour afpy.org, en profiter pour mettre en place du continuous delivery.
|
|
|
|
|
- [ ] Vérifier les versions des Django des pycon 2012, 2013, 2014, 2015
|
2019-02-11 22:14:18 +00:00
|
|
|
|
- [ ] Déployer les django des pycon 2012, 2013, 2014, 2015 via Ansible
|
2018-12-21 11:32:09 +00:00
|
|
|
|
- [ ] Sauvegarder puis supprimer la jail membres
|
|
|
|
|
- [ ] Rediriger le sous domaine afpyro.afpy.org vers autre chose.
|
|
|
|
|
- [ ] Sauvegarder puis supprimer la jail afpyro
|
2019-07-04 21:30:06 +00:00
|
|
|
|
- [ ] Setup watchghost
|
2018-12-20 22:54:21 +00:00
|
|
|
|
|
|
|
|
|
|
2019-12-16 22:58:06 +00:00
|
|
|
|
## deb.afpy.org
|
|
|
|
|
|
|
|
|
|
La seule machine déployée via Ansible.
|
|
|
|
|
|
|
|
|
|
fingerprint: `SHA256:xVC4sYYdmDSbJP6JWZUxApzHdbAj1p3uZlOEIksXrMA`.
|
|
|
|
|
|
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
## rainette.afpy.org
|
2018-12-20 22:54:21 +00:00
|
|
|
|
|
2019-07-04 21:30:06 +00:00
|
|
|
|
Liste des jails toujours utiles :
|
2018-12-21 11:32:09 +00:00
|
|
|
|
|
|
|
|
|
- web: héberge https://afpy.org (https://github.com/afpy/site/)
|
|
|
|
|
- dns
|
2019-02-19 23:25:00 +00:00
|
|
|
|
- smtp:
|
|
|
|
|
- smtpd (/usr/local/etc/mail/smtpd.conf)
|
|
|
|
|
- dovecot (comptes: /usr/local/etc/mail/tables/passwd)
|
|
|
|
|
- spamd
|
2018-12-21 11:32:09 +00:00
|
|
|
|
- pyconfr
|
2019-07-04 21:30:06 +00:00
|
|
|
|
- Un static dump de 2013: `/home/pyconfr/static_dump/2013/`.
|
|
|
|
|
- Un static dump de 2014: `/home/pyconfr/static_dump/2014/`.
|
|
|
|
|
- Un static dump de 2015: `/home/pyconfr/static_dump/2015/`.
|
|
|
|
|
- Les Pelican de 2016, 2017, 2018.
|
|
|
|
|
- Le flask-freeze de 2019.
|
2018-12-21 11:32:09 +00:00
|
|
|
|
- mailman
|
2019-03-06 23:08:06 +00:00
|
|
|
|
- Le sitepass est disponnible dans passbolt.
|
2019-07-04 21:30:06 +00:00
|
|
|
|
- http
|
|
|
|
|
- C'est le nginx qui dispatch aux autres jails.
|
|
|
|
|
- 2019-07-04: `rm sites-enabled/{plone,hg,paullaroid,membres,supervision}.afpy.org`
|
2018-12-21 11:32:09 +00:00
|
|
|
|
- alain
|
|
|
|
|
- Bot IRC sur #afpy sur freenode.
|
2019-07-04 21:30:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jails en fin de vie :
|
|
|
|
|
|
|
|
|
|
- membres:
|
|
|
|
|
- Ancienne gestion des membres (https://github.com/AFPy/AfpyMembers)
|
|
|
|
|
- 2018-12-21: Daemon arrêté.
|
|
|
|
|
- 2019-07-04: `ezjail-admin stop membres`
|
2018-12-21 11:32:09 +00:00
|
|
|
|
- afpyro
|
|
|
|
|
- https://afpyro.afpy.org/
|
|
|
|
|
- https://github.com/AFPy/siteafpyro
|
|
|
|
|
- Il faudrait poser une 301 vers ... afpy.org ?
|
2018-12-20 22:54:21 +00:00
|
|
|
|
|
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
## storage.afpy.org
|
2018-12-20 22:54:21 +00:00
|
|
|
|
|
2019-07-04 21:30:06 +00:00
|
|
|
|
Accessible via https://dl.afpy.org
|
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
On y stocke :
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
- videospyconfr2016
|
|
|
|
|
- videospyconfr2015
|
|
|
|
|
- http
|
|
|
|
|
- backupdebian
|
|
|
|
|
- ns1
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
|
|
|
|
|
2019-02-11 22:05:18 +00:00
|
|
|
|
## 163.172.45.2
|
|
|
|
|
|
2019-07-04 21:30:06 +00:00
|
|
|
|
Est une machine de test de Julien, configurée via Ansible, elle héberge:
|
|
|
|
|
|
|
|
|
|
- paullaroid.pycon.fr
|
|
|
|
|
- pycon2010.pycon.fr
|
|
|
|
|
- pycon2011.pycon.fr
|
2019-02-11 22:05:18 +00:00
|
|
|
|
|
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
# Ansible
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
On utilies ces rôles Ansible :
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
## gallery
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
C'est le rôle pour installer https://github.com/AFPy/pycon-fr-gallery
|
|
|
|
|
sur http://paullaroid.pycon.fr/.
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
Une démo est actuellement sur une machine de test de Julien:
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
curl --resolve paullaroid.pycon.fr:80:163.172.45.2 http://paullaroid.pycon.fr
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
## letsencrypt
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
*letsencrypt* est un rôle pour gérer un certificat HTTPS et son stub
|
|
|
|
|
nginx pour un domaine. Il s'utilise typiquement comme dépendance d'un
|
|
|
|
|
autre rôle, voir le `meta/main.yml` du rôle `gallery` par exemple.
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
## common
|
2018-10-09 19:43:40 +00:00
|
|
|
|
|
2018-12-21 11:32:09 +00:00
|
|
|
|
*common* est un rôle "de base" permettant d'avoir une conf "normale"
|
|
|
|
|
sur toutes nos machines (emacs et vim installés, nos authorized-keys,
|
|
|
|
|
pas de mlocate, ce genre de broutilles)
|
2019-03-06 23:08:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Backups
|
|
|
|
|
|
|
|
|
|
Julien Palard a un rsnapshot (en 2019 en tout cas) de storage.afpy.org
|
|
|
|
|
sur son NAS perso, avec :
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
backup root@storage.afpy.org:/usr/jails/http/usr/local/www/nginx-dist/dl/ storage.afpy.org/
|
|
|
|
|
|
|
|
|
|
backup root@rainette.afpy.org:/etc/ rainette.afpy.org
|
|
|
|
|
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/web/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/web/root/ rainette.afpy.org
|
|
|
|
|
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/dns/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/supervision/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/static/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/ldap/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/smtp/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/pyconfr/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/plone/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/couchdb/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/photomaton/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/membres/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/mailman/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/http/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/alain/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/afpyro/usr/local/etc/ rainette.afpy.org
|
|
|
|
|
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/http/usr/local/www/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/mailman/usr/local/www/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/pyconfr/usr/local/www/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/static/usr/local/www/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/supervision/usr/local/www/ rainette.afpy.org
|
|
|
|
|
backup root@rainette.afpy.org:/usr/jails/web/usr/local/www/ rainette.afpy.org
|
|
|
|
|
```
|
2019-04-03 21:00:30 +00:00
|
|
|
|
|
2019-07-04 20:24:35 +00:00
|
|
|
|
|
2019-04-03 21:00:30 +00:00
|
|
|
|
## Passbolt
|
|
|
|
|
|
|
|
|
|
See [passbolt backup documentation](https://help.passbolt.com/hosting/backup).
|
|
|
|
|
|
2019-07-04 20:24:35 +00:00
|
|
|
|
On a un CRON qui lance un `mysqldump` vers `/srv/backups/passbolt.sql`
|
|
|
|
|
sur le serveur du passbolt, qui dont pourrait se faire sauvegarder par rsnapshot.
|