2020-04-11 00:19:03 +00:00
#!/bin/bash
2020-04-11 23:00:17 +00:00
2020-04-15 17:10:38 +00:00
CMD = "ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook recette.yml"
2020-04-15 20:19:35 +00:00
REMOTE = false
2020-04-15 13:37:47 +00:00
for arg in " $@ " ; do
2020-04-15 17:10:38 +00:00
if [ [ $arg = "remote" ] ] ; then
2020-04-15 20:19:35 +00:00
REMOTE = true
2020-04-15 17:10:38 +00:00
CMD = " $CMD -i hosts "
2020-04-15 13:37:47 +00:00
fi
if [ [ $arg = "check" ] ] ; then
CMD = " $CMD --syntax-check "
fi
2020-04-15 20:19:35 +00:00
if [ [ $arg = "debug" ] ] ; then
CMD = " $CMD -vvv "
fi
2020-04-15 13:37:47 +00:00
done
2020-04-15 20:19:35 +00:00
if [ [ $REMOTE = false ] ] ; then
2020-04-16 09:31:18 +00:00
# Sécurité pour empêcher une personne d'appliquer par erreur le playbook de ~fr sur son propre serveur
# Si le hostname dans config.yml est configuré pour fr.tild3.org mais que /etc/hostname n'est pas "fr",
# alors on ne fait rien... sauf bien sûr en mode remote.
grep -E " ^hostname:.*?fr.tild3.org.*? $" config.yml > /dev/null
FR = $?
if [ [ " $( cat /etc/hostname) " != "fr" ] ] && [ [ $FR = 0 ] ] ; then
echo "ERREUR DE CONFIGURATION"
echo " Tu essayes d'appliquer la recette avec la configuration du serveur ~fr (hostname: fr.tild3.org), pourtant il semblerait que ce serveur n'est pas ~fr car /etc/hostname dit le contraire."
echo " Pour configurer ton serveur, tu peux repartir du fichier d'exemple config.default.yml: \`cp config.default.yml config.yml\`. Voir le manuel d'administration dans le ficher \`docs/administrateurice.md\`."
exit 1
fi
2020-04-15 20:19:35 +00:00
CMD = " $CMD --connection=local --inventory 127.0.0.1, --limit 127.0.0.1 "
fi
2020-04-15 13:37:47 +00:00
eval $CMD