mirror of
https://github.com/YunoHost/yunohost_demo.git
synced 2024-09-03 19:56:44 +02:00
Mail demo@yunohost.org
This commit is contained in:
parent
1997b85f14
commit
145666dbb3
7 changed files with 40 additions and 104 deletions
|
@ -1,73 +0,0 @@
|
||||||
# this config needs haproxy-1.1.28 or haproxy-1.2.1
|
|
||||||
|
|
||||||
global
|
|
||||||
log 127.0.0.1 local0 info
|
|
||||||
maxconn 4096
|
|
||||||
user haproxy
|
|
||||||
group haproxy
|
|
||||||
daemon
|
|
||||||
|
|
||||||
defaults
|
|
||||||
log global
|
|
||||||
mode http
|
|
||||||
option dontlognull
|
|
||||||
retries 3
|
|
||||||
option redispatch
|
|
||||||
maxconn 2000
|
|
||||||
contimeout 5000
|
|
||||||
clitimeout 50000
|
|
||||||
srvtimeout 50000
|
|
||||||
|
|
||||||
# --- Frontends ---
|
|
||||||
|
|
||||||
frontend http_frontend
|
|
||||||
bind *:80
|
|
||||||
mode http
|
|
||||||
|
|
||||||
option httplog
|
|
||||||
option httpclose
|
|
||||||
option forwardfor
|
|
||||||
#option httpchk GET /status
|
|
||||||
|
|
||||||
default_backend http_server
|
|
||||||
|
|
||||||
# Let's Encrypt
|
|
||||||
acl letsencrypt-request path_beg -i /.well-known/acme-challenge/
|
|
||||||
use_backend letsencrypt if letsencrypt-request
|
|
||||||
|
|
||||||
frontend https_frontend
|
|
||||||
bind *:443
|
|
||||||
mode tcp
|
|
||||||
|
|
||||||
default_backend https_server
|
|
||||||
|
|
||||||
# --- Backends ---
|
|
||||||
|
|
||||||
# Local backend for Let's Encrypt
|
|
||||||
backend letsencrypt
|
|
||||||
mode http
|
|
||||||
server letsencrypt 127.0.0.1:8010
|
|
||||||
|
|
||||||
# YunoHost HTTP backend
|
|
||||||
backend http_server
|
|
||||||
mode http
|
|
||||||
|
|
||||||
balance roundrobin
|
|
||||||
|
|
||||||
server yunohost_demo1 10.1.5.3:80 check
|
|
||||||
server yunohost_demo2 10.1.5.4:80 check
|
|
||||||
|
|
||||||
# YunoHost HTTPS backend
|
|
||||||
backend https_server
|
|
||||||
mode tcp
|
|
||||||
|
|
||||||
balance source
|
|
||||||
#balance roundrobin
|
|
||||||
#stick-table type ip size 200k expire 30m
|
|
||||||
#stick on src
|
|
||||||
|
|
||||||
option ssl-hello-chk
|
|
||||||
option httpchk GET /status
|
|
||||||
|
|
||||||
server yunohost_demo1 10.1.5.3:443 check
|
|
||||||
server yunohost_demo2 10.1.5.4:443 check
|
|
|
@ -18,18 +18,19 @@ LXC_NAME1=yunohost_demo1
|
||||||
LXC_NAME2=yunohost_demo2
|
LXC_NAME2=yunohost_demo2
|
||||||
TIME_TO_SWITCH=30
|
TIME_TO_SWITCH=30
|
||||||
# En minutes
|
# En minutes
|
||||||
|
MAIL_ADDR=demo@yunohost.org
|
||||||
|
|
||||||
USER_DEMO=demo
|
USER_DEMO=demo
|
||||||
PASSWORD_DEMO=demo
|
PASSWORD_DEMO=demo
|
||||||
|
|
||||||
# Check root
|
# Check root
|
||||||
CHECK_ROOT=$EUID
|
# CHECK_ROOT=$EUID
|
||||||
if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
# if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
||||||
if [ $CHECK_ROOT -eq 0 ]
|
# if [ $CHECK_ROOT -eq 0 ]
|
||||||
then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
# then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
||||||
echo "Le script ne doit pas être exécuté avec les droits root"
|
# echo "Le script ne doit pas être exécuté avec les droits root"
|
||||||
exit 1
|
# exit 1
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
echo "> Création d'une machine debian jessie minimaliste" | tee -a "$LOG_BUILD_LXC"
|
echo "> Création d'une machine debian jessie minimaliste" | tee -a "$LOG_BUILD_LXC"
|
||||||
sudo lxc-create -n $LXC_NAME1 -t debian -- -r jessie >> "$LOG_BUILD_LXC" 2>&1
|
sudo lxc-create -n $LXC_NAME1 -t debian -- -r jessie >> "$LOG_BUILD_LXC" 2>&1
|
||||||
|
|
|
@ -15,13 +15,13 @@ IP_LXC1=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC1= | cut -d '=' -f2)
|
||||||
IP_LXC2=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC2= | cut -d '=' -f2)
|
IP_LXC2=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC2= | cut -d '=' -f2)
|
||||||
|
|
||||||
# Check root
|
# Check root
|
||||||
CHECK_ROOT=$EUID
|
# CHECK_ROOT=$EUID
|
||||||
if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
# if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
||||||
if [ $CHECK_ROOT -eq 0 ]
|
# if [ $CHECK_ROOT -eq 0 ]
|
||||||
then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
# then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
||||||
echo "Le script ne doit pas être exécuté avec les droits root"
|
# echo "Le script ne doit pas être exécuté avec les droits root"
|
||||||
exit 1
|
# exit 1
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
read -p "Indiquer le nom de domaine du serveur de demo: " DOMAIN
|
read -p "Indiquer le nom de domaine du serveur de demo: " DOMAIN
|
||||||
echo "$DOMAIN" > "$script_dir/domain.ini"
|
echo "$DOMAIN" > "$script_dir/domain.ini"
|
||||||
|
@ -83,7 +83,12 @@ server {
|
||||||
listen [::]:80;
|
listen [::]:80;
|
||||||
server_name $DOMAIN;
|
server_name $DOMAIN;
|
||||||
|
|
||||||
if (\$scheme = http) {
|
location '/.well-known/acme-challenge' {
|
||||||
|
default_type "text/plain";
|
||||||
|
root /tmp/letsencrypt-auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (\$scheme = http) {
|
||||||
rewrite ^ https://\$server_name\$request_uri? permanent;
|
rewrite ^ https://\$server_name\$request_uri? permanent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,13 @@ IP_LXC1=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC1= | cut -d '=' -f2)
|
||||||
IP_LXC2=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC2= | cut -d '=' -f2)
|
IP_LXC2=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC2= | cut -d '=' -f2)
|
||||||
|
|
||||||
# Check root
|
# Check root
|
||||||
CHECK_ROOT=$EUID
|
# CHECK_ROOT=$EUID
|
||||||
if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
# if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
||||||
if [ $CHECK_ROOT -eq 0 ]
|
# if [ $CHECK_ROOT -eq 0 ]
|
||||||
then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
# then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
||||||
echo "Le script ne doit pas être exécuté avec les droits root"
|
# echo "Le script ne doit pas être exécuté avec les droits root"
|
||||||
exit 1
|
# exit 1
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
"$script_dir/demo_stop.sh"
|
"$script_dir/demo_stop.sh"
|
||||||
|
|
||||||
|
|
|
@ -11,13 +11,13 @@ LXC_NAME1=$(cat "$script_dir/demo_lxc_build.sh" | grep LXC_NAME1= | cut -d '=' -
|
||||||
DOMAIN=$(cat "$script_dir/domain.ini")
|
DOMAIN=$(cat "$script_dir/domain.ini")
|
||||||
|
|
||||||
# Check root
|
# Check root
|
||||||
CHECK_ROOT=$EUID
|
# CHECK_ROOT=$EUID
|
||||||
if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
# if [ -z "$CHECK_ROOT" ];then CHECK_ROOT=0;fi
|
||||||
if [ $CHECK_ROOT -eq 0 ]
|
# if [ $CHECK_ROOT -eq 0 ]
|
||||||
then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
# then # $EUID est vide sur une exécution avec sudo. Et vaut 0 pour root
|
||||||
echo "Le script ne doit pas être exécuté avec les droits root"
|
# echo "Le script ne doit pas être exécuté avec les droits root"
|
||||||
exit 1
|
# exit 1
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
"$script_dir/demo_lxc_destroy.sh"
|
"$script_dir/demo_lxc_destroy.sh"
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ if [ "${0:0:1}" == "/" ]; then script_dir="$(dirname "$0")"; else script_dir="$P
|
||||||
PLAGE_IP=$(cat "$script_dir/demo_lxc_build.sh" | grep PLAGE_IP= | cut -d '=' -f2)
|
PLAGE_IP=$(cat "$script_dir/demo_lxc_build.sh" | grep PLAGE_IP= | cut -d '=' -f2)
|
||||||
LXC_NAME1=$(cat "$script_dir/demo_lxc_build.sh" | grep LXC_NAME1= | cut -d '=' -f2)
|
LXC_NAME1=$(cat "$script_dir/demo_lxc_build.sh" | grep LXC_NAME1= | cut -d '=' -f2)
|
||||||
LXC_NAME2=$(cat "$script_dir/demo_lxc_build.sh" | grep LXC_NAME2= | cut -d '=' -f2)
|
LXC_NAME2=$(cat "$script_dir/demo_lxc_build.sh" | grep LXC_NAME2= | cut -d '=' -f2)
|
||||||
|
MAIL_ADDR=$(cat "$script_dir/demo_lxc_build.sh" | grep MAIL_ADDR= | cut -d '=' -f2)
|
||||||
|
|
||||||
# Vérifie l'état des machines.
|
# Vérifie l'état des machines.
|
||||||
if [ "$(sudo lxc-info --name $LXC_NAME1 | grep -c "RUNNING")" -eq "1" ]
|
if [ "$(sudo lxc-info --name $LXC_NAME1 | grep -c "RUNNING")" -eq "1" ]
|
||||||
|
@ -26,8 +27,8 @@ sudo lxc-start -n $LXC_B -o "$script_dir/demo_switch.log" -d > /dev/null # Déma
|
||||||
sleep 10 # Attend 10 seconde pour s'assurer du démarrage de la machine.
|
sleep 10 # Attend 10 seconde pour s'assurer du démarrage de la machine.
|
||||||
if [ "$(sudo lxc-info --name $LXC_B | grep -c "STOPPED")" -eq "1" ]
|
if [ "$(sudo lxc-info --name $LXC_B | grep -c "STOPPED")" -eq "1" ]
|
||||||
then
|
then
|
||||||
# Le conteneur n'a pas réussi à démarrer. On devrait avertir un responsable par mail...
|
# Le conteneur n'a pas réussi à démarrer. On averti un responsable par mail...
|
||||||
# [...]
|
mail -a "Content-Type: text/plain; charset=UTF-8" -s "Demo Yunohost" $MAIL_ADDR "Échec du démarrage du conteneur $LXC_B sur le serveur de demo!"
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
# Bascule sur le conteneur B avec le load balancing de nginx...
|
# Bascule sur le conteneur B avec le load balancing de nginx...
|
||||||
|
|
|
@ -12,6 +12,7 @@ IP_LXC1=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC1= | cut -d '=' -f2)
|
||||||
IP_LXC2=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC2= | cut -d '=' -f2)
|
IP_LXC2=$(cat "$script_dir/demo_lxc_build.sh" | grep IP_LXC2= | cut -d '=' -f2)
|
||||||
PLAGE_IP=$(cat "$script_dir/demo_lxc_build.sh" | grep PLAGE_IP= | cut -d '=' -f2)
|
PLAGE_IP=$(cat "$script_dir/demo_lxc_build.sh" | grep PLAGE_IP= | cut -d '=' -f2)
|
||||||
TIME_TO_SWITCH=$(cat "$script_dir/demo_lxc_build.sh" | grep TIME_TO_SWITCH= | cut -d '=' -f2)
|
TIME_TO_SWITCH=$(cat "$script_dir/demo_lxc_build.sh" | grep TIME_TO_SWITCH= | cut -d '=' -f2)
|
||||||
|
MAIL_ADDR=$(cat "$script_dir/demo_lxc_build.sh" | grep MAIL_ADDR= | cut -d '=' -f2)
|
||||||
|
|
||||||
IP_UPGRADE=$PLAGE_IP.150
|
IP_UPGRADE=$PLAGE_IP.150
|
||||||
LOOP=0
|
LOOP=0
|
||||||
|
@ -62,6 +63,7 @@ UPGRADE_DEMO_CONTAINER () { # Démarrage, upgrade et snapshot
|
||||||
if [ "$?" -ne 0 ]; then # Si le script a échoué, le snapshot est annulé.
|
if [ "$?" -ne 0 ]; then # Si le script a échoué, le snapshot est annulé.
|
||||||
echo "Échec du script $LIGNE"
|
echo "Échec du script $LIGNE"
|
||||||
mv -f "$script_dir/upgrade.d/$LIGNE" "$script_dir/upgrade.d/$LIGNE.fail"
|
mv -f "$script_dir/upgrade.d/$LIGNE" "$script_dir/upgrade.d/$LIGNE.fail"
|
||||||
|
mail -a "Content-Type: text/plain; charset=UTF-8" -s "Demo Yunohost" $MAIL_ADDR "Échec d'exécution du script d'upgrade $LIGNE sur le conteneur $MACHINE sur le serveur de demo!\nLe script a été renommé en .fail, il ne sera plus exécuté tant que le préfixe ne sera pas retiré."
|
||||||
update_apt=0
|
update_apt=0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
Loading…
Add table
Reference in a new issue