Restructure README and motd indications
parent
43ef614e01
commit
d422d04bd4
91
README.md
91
README.md
|
@ -1,26 +1,9 @@
|
|||
# Ansible
|
||||
# Recettes Ansible du Cr@ns
|
||||
|
||||
Ensemble des recettes de déploiement Ansible pour les serveurs du Crans.
|
||||
Pour les utiliser, vérifiez que vous avez au moins Ansible 2.7.
|
||||
|
||||
Ces politiques de déployement nécessite Ansible 2.7 ou plus récent.
|
||||
Le paquet dans Debian Buster est suffisamment à jour, sinon vous pouvez l'obtenir de la façon suivante :
|
||||
|
||||
```bash
|
||||
pip3 install --user ansible
|
||||
```
|
||||
|
||||
## Exécution d'un playbook
|
||||
|
||||
Pour appliquer le playbook `base.yml` :
|
||||
```bash
|
||||
ansible-playbook --ask-vault-pass base.yml
|
||||
```
|
||||
|
||||
Il est souhaitable de faire un test avant avec `--check` si on a des doutes !
|
||||
|
||||
## FAQ
|
||||
|
||||
### Ansible 101
|
||||
## Ansible 101
|
||||
|
||||
Si vous n'avez jamais touché à Ansible avant, voilà une rapide introduction.
|
||||
|
||||
|
@ -60,35 +43,6 @@ récupérer son résultat dans une varible, mettre une boucle dessus, mettre des
|
|||
N'oubliez pas d'aller lire l'excellent documentation de RedHat sur tous les modules
|
||||
d'Ansible !
|
||||
|
||||
### Mettre sa clé SSH sur une machine
|
||||
|
||||
```
|
||||
ssh-copy-id -i ~/.ssh/id_rsa_crans.pub zamok.crans.org
|
||||
```
|
||||
|
||||
### Ignorer la fingerprint ECDSA du serveur (dangereux !)
|
||||
|
||||
Il faut changer la variable d'environnement suivante :
|
||||
`ANSIBLE_HOST_KEY_CHECKING=0`.
|
||||
|
||||
### Configurer la connexion au vlan adm
|
||||
|
||||
Envoyer son agent SSH peut être dangereux ([source](https://heipei.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/)).
|
||||
|
||||
On va utiliser plutôt `ProxyJump`.
|
||||
Dans la configuration SSH :
|
||||
|
||||
```
|
||||
# Use a key to log on all Crans servers
|
||||
# and use a proxy server
|
||||
Host 10.231.136.* *.adm.crans.org
|
||||
IdentityFile ~/.ssh/id_rsa_crans
|
||||
ProxyJump vo.crans.org
|
||||
```
|
||||
|
||||
Il faut savoir que depuis Ansible 2.5, des connexions persistantes sont créées
|
||||
vers les serveurs puis détruites à la fin de l'exécution.
|
||||
|
||||
### Gestion des groupes de machines
|
||||
|
||||
Pour la majorité des groupes ont retrouve ce qu'il y avait dans BCFG2
|
||||
|
@ -125,3 +79,42 @@ on peut exécuter le module `setup` manuellement.
|
|||
```
|
||||
ansible zamok.adm.crans.org -m setup --ask-vault-pass
|
||||
```
|
||||
|
||||
## Exécution d'Ansible
|
||||
|
||||
### Configurer la connexion au vlan adm
|
||||
|
||||
Envoyer son agent SSH peut être dangereux
|
||||
([source](https://heipei.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/)).
|
||||
|
||||
On va utiliser plutôt `ProxyJump`.
|
||||
Dans la configuration SSH :
|
||||
|
||||
```
|
||||
# Use a key to log on all Crans servers
|
||||
# and use a proxy server
|
||||
Host 10.231.136.* *.adm.crans.org
|
||||
IdentityFile ~/.ssh/id_rsa_crans
|
||||
ProxyJump vo.crans.org
|
||||
```
|
||||
|
||||
Il faut savoir que depuis Ansible 2.5, des connexions persistantes sont créées
|
||||
vers les serveurs puis détruites à la fin de l'exécution.
|
||||
|
||||
Il faut sa clé SSH configurée sur le serveur que l'on déploit.
|
||||
```bash
|
||||
ssh-copy-id zamok.crans.org
|
||||
```
|
||||
|
||||
### Lancer Ansible
|
||||
|
||||
Pour tester le playbook `base.yml` :
|
||||
```bash
|
||||
ansible-playbook --ask-vault-pass base.yml --check
|
||||
```
|
||||
|
||||
Vous pouvez ensuite enlever `--check` si vous voulez appliquer les changements !
|
||||
|
||||
Si vous avez des soucis de fingerprint ECDSA, vous pouvez ignorer une
|
||||
première fois (dangereux !) : `ANSIBLE_HOST_KEY_CHECKING=0 ansible-playbook...`.
|
||||
|
||||
|
|
|
@ -13,16 +13,10 @@
|
|||
|
||||
# Debian non-free mirror
|
||||
debian_mirror: http://mirror.adm.crans.org/debian
|
||||
|
||||
# Indicate service in motd
|
||||
motd_role:
|
||||
name: prometheus
|
||||
path: /etc/prometheus/
|
||||
roles:
|
||||
- debian-non-free
|
||||
- prometheus
|
||||
- prometheus-alertmanager
|
||||
- motd-role
|
||||
|
||||
# Monitor all hosts
|
||||
- hosts: all
|
||||
|
@ -38,11 +32,5 @@
|
|||
ldap_user_tree: "cn=Utilisateurs,{{ ldap_base }}"
|
||||
ldap_grafana_bind_dn: "cn=grafana,ou=service-users,{{ ldap_base }}"
|
||||
ldap_grafana_passwd: "{{ vault_ldap_grafana_passwd }}"
|
||||
|
||||
# Indicate service in motd
|
||||
motd_role:
|
||||
name: grafana
|
||||
path: /etc/grafana/
|
||||
roles:
|
||||
- grafana
|
||||
- motd-role
|
||||
|
|
12
network.yml
12
network.yml
|
@ -4,14 +4,8 @@
|
|||
vars:
|
||||
# Debian mirror on adm
|
||||
debian_mirror: http://mirror.adm.crans.org/debian
|
||||
|
||||
# Indicate service in motd
|
||||
motd_role:
|
||||
name: wireguard
|
||||
path: /etc/wireguard/
|
||||
roles:
|
||||
- wireguard
|
||||
- motd-role
|
||||
|
||||
# Deploy DHCP server
|
||||
- hosts: dhcp.adm.crans.org
|
||||
|
@ -37,11 +31,5 @@
|
|||
|
||||
# Deploy Unifi Controller
|
||||
- hosts: unifi.adm.crans.org
|
||||
vars:
|
||||
# Indicate service in motd
|
||||
motd_role:
|
||||
name: unifi-controller
|
||||
verbose_name: Le contrôleur Unifi
|
||||
roles:
|
||||
- unifi-controller
|
||||
- motd-role
|
||||
|
|
|
@ -34,3 +34,9 @@
|
|||
# cd framadate
|
||||
# sudo -u www-data touch admin/stdout.log
|
||||
# sudo chmod 600 admin/stdout.log
|
||||
|
||||
- name: Indicate role in motd
|
||||
template:
|
||||
src: update-motd.d/05-service.j2
|
||||
dest: /etc/update-motd.d/05-framadate
|
||||
mode: 0755
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
# {{ ansible_managed }}
|
||||
echo "> framadate a été déployé sur cette machine.\n Voir {{ framadate_path }}"
|
|
@ -78,3 +78,9 @@
|
|||
enabled: true
|
||||
state: started
|
||||
daemon_reload: true
|
||||
|
||||
- name: Indicate role in motd
|
||||
template:
|
||||
src: update-motd.d/05-service.j2
|
||||
dest: /etc/update-motd.d/05-grafana
|
||||
mode: 0755
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
# {{ ansible_managed }}
|
||||
echo "> grafana a été déployé sur cette machine.\n Voir /etc/grafana/"
|
|
@ -1,6 +0,0 @@
|
|||
---
|
||||
- name: "Indicate {{ motd_role.name }} in motd"
|
||||
template:
|
||||
src: update-motd.d/05-service.j2
|
||||
dest: "/etc/update-motd.d/05-{{ motd_role.name }}"
|
||||
mode: 0755
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
# {{ ansible_managed }}
|
||||
echo "✨ {% if motd_role.verbose_name is defined %}{{ motd_role.verbose_name }}{% else %}{{ motd_role.name|capitalize }}{% endif %} a été déployé sur cette machine."
|
||||
{% if motd_role.path is defined %}
|
||||
echo " Voir {{ motd_role.path }}"
|
||||
{% endif %}
|
|
@ -52,3 +52,9 @@
|
|||
name: prometheus
|
||||
enabled: yes
|
||||
state: started
|
||||
|
||||
- name: Indicate role in motd
|
||||
template:
|
||||
src: update-motd.d/05-service.j2
|
||||
dest: /etc/update-motd.d/05-prometheus
|
||||
mode: 0755
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
# {{ ansible_managed }}
|
||||
echo "> prometheus a été déployé sur cette machine.\n Voir /etc/prometheus/"
|
|
@ -39,3 +39,9 @@
|
|||
register: apt_result
|
||||
retries: 3
|
||||
until: apt_result is succeeded
|
||||
|
||||
- name: Indicate role in motd
|
||||
template:
|
||||
src: update-motd.d/05-service.j2
|
||||
dest: /etc/update-motd.d/05-unifi-controller
|
||||
mode: 0755
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
# {{ ansible_managed }}
|
||||
echo "> Le contrôleur Unifi a été déployé sur cette machine."
|
|
@ -18,3 +18,9 @@
|
|||
register: apt_result
|
||||
retries: 3
|
||||
until: apt_result is succeeded
|
||||
|
||||
- name: Indicate role in motd
|
||||
template:
|
||||
src: update-motd.d/05-service.j2
|
||||
dest: /etc/update-motd.d/05-wireguard
|
||||
mode: 0755
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
# {{ ansible_managed }}
|
||||
echo "> wireguard a été déployé sur cette machine.\n Voir /etc/wireguard/"
|
|
@ -14,11 +14,5 @@
|
|||
# you will have to `sudo -u THISUSER zsh` to debug
|
||||
framadate_user: www-data
|
||||
framadate_path: /var/www/framadate
|
||||
|
||||
# Indicate service in motd
|
||||
motd_role:
|
||||
name: framadate
|
||||
path: "{{ framadate_path }}"
|
||||
roles:
|
||||
- framadate
|
||||
- motd-role
|
||||
|
|
Loading…
Reference in New Issue