diff --git a/deploy.sh b/deploy.sh index 89e7e2a..7a7f835 100755 --- a/deploy.sh +++ b/deploy.sh @@ -1,5 +1,23 @@ #!/bin/bash +doc_admin() { + echo " Pour plus d'information sur l'installation/configuration du serveur, se référer au manuel d'administration." + echo " ~~> docs/administrateurice.md" +} + +DEPS=("ansible-playbook" "grep") + +# Vérifier que les dépendances sont installées, des fois qu'une personne n'aurait pas lu la doc +for dep in ${DEPS[*]}; do + which "$dep" > /dev/null + if [[ $? != 0 ]]; then + echo "ERREUR: La commande $dep n'existe pas dans mon \$PATH." + echo " Notre recette a besoin des programmes suivants: $DEPS" + doc_admin + exit 2 + fi +done + CMD="ANSIBLE_RETRY_FILES_ENABLED=0 ansible-playbook recette.yml" REMOTE=false @@ -24,10 +42,12 @@ if [[ $REMOTE = false ]]; then grep -E "^hostname:.*?fr.tild3.org.*?$" config.yml > /dev/null FR=$? - if [[ "$(cat /etc/hostname)" != "fr" ]] && [[ $FR = 0 ]]; then + cur_host="$(cat /etc/hostname)" + if [[ "$cur_host" != "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\`." + echo " Tu essayes d'appliquer la recette avec la configuration du serveur ~fr (hostname: fr.tild3.org), pourtant il semble que ce serveur n'est pas ~fr (/etc/hostname = $cur_host)." + echo " Pour configurer ton serveur de zéro, tu peux partir du fichier d'exemple config.default.yml." + doc_admin exit 1 fi