Commit 250a3e4f authored by Benjamin Graillot's avatar Benjamin Graillot
Browse files

Rewrite some stuff

parent b242c227
......@@ -12,8 +12,9 @@ Il contient la définition de chaque machine et le regroupement.
Quand on regroupe avec un `:children` en réalité on groupe des groupes.
Chaque machine est annoncée avec son hostname. Il faut pouvoir SSH sur cette machine
avec ce hostname, car c'est ce qu'Ansible fera.
Une machine est déclarée via un nom qui sera résolu par SSH. Celà peut
classiquement être son hostname. Ansible initiera une connection SSH vers
ce nom en honorant sa configuration.
**Playbook** : c'est une politique de déploiement.
Il contient les associations des rôles avec les machines.
......@@ -22,8 +23,9 @@ L'idée au Crans est de regrouper par thème. Exemple, le playbook `monitoring.y
va contenir toutes les définitions machines-rôles qui touchent au monitoring.
Cela permet de déployer manuellement tout le monitoring sans toucher au reste.
**Rôle** : un playbook donne des rôles à des machines. Ces rôles sont tous dans
le dossier `roles/`. Un rôle installe un service précis sur un serveur.
**Rôle** : un playbook donne des rôles à des machines. Les rôles sont rassemblés
dans le dossier `roles`. Chaque rôle installe un service et sa configuration si
elle est nécessaire.
Il est préférable d'être atomique sur les rôles plutôt d'en coder un énorme
qui sera difficilement maintenable.
......@@ -31,8 +33,9 @@ qui sera difficilement maintenable.
*Exemples de rôle* : activer les backports pour ma version de Debian, installer NodeJS,
déployer un serveur prometheus, déployer une node prometheus…
**Tâche** : un rôle est composé de tâches. Une tâche effectue une et une seule
action. Elle est associée à un module Ansible.
**Tâche** : un rôle est une suite de tâche qui sont généralement des actions unitaires
mais parfois qui peuvent être plusieurs actions similaires (effectuées via une `loop`).
Chaque action est définie par un module Ansible.
*Exemples de tâche* : installer un paquet avec le module `apt`, ajouter une ligne dans
un fichier avec le module `lineinfile`, copier une template avec le module `template`
......
......@@ -25,11 +25,7 @@ if [ ! -d "${UHOME}/OwnCloud" ] || ! (
/usr/bin/find ${UHOME}/OwnCloud/ -maxdepth 0 -user $USERID -group ${UGROUP} |
/bin/grep -q ${UHOME}/OwnCloud/
); then
if [ ! -d "${UHOME}/OwnCloud" ]; then
mkdir ${UHOME}/OwnCloud
fi
chmod 700 ${UHOME}/OwnCloud &&
chown $USERID:${UGROUP} ${UHOME}/OwnCloud
if [ ! -d "${UHOME}/OwnCloud" ] && [ ! -f "${UHOME}/OwnCloud" ]; then mkdir -m 700 ${UHOME}/OwnCloud && chown $USERID:${UGROUP} ${UHOME}/OwnCloud; fi
if [ ! -d "${UHOME}/OwnCloud" ] || ! (
/usr/bin/find ${UHOME}/OwnCloud/ -maxdepth 0 -user $USERID -group ${UGROUP} |
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment