#!/bin/bash

if [[ "$(CreoleGet activer_ead3 non)" == "oui" ]];then

    # Accept local minion key
    cert=$(CreoleGet minion_domain_name)
    echo -e "\n## Acceptation de la clé du minion ${cert} ##"
    minion_key_status=""
    for (( i=0; i<20; i++ ))
    do
        minion_key_status=$(salt-key -c /etc/ead3/salt/ -p $cert |head -n1)
        [[ $minion_key_status != "" ]] && break
        sleep 2
    done
    DEFAULT="\e[0m"
    RED="\e[31m"
    case $minion_key_status in
        "Accepted Keys:")
            ;;
        "Denied Keys:")
            echo -e "${RED}La clé du minion ${cert} est refusée${DEFAULT}"
            exit 1
            ;;
        "Unaccepted Keys:")
            salt-key -c /etc/ead3/salt -a $cert -y
            ;;
        "Rejected Keys:")
            echo -e "${RED}La clé du minion ${cert} est rejetée${DEFAULT}"
            exit 1
            ;;
        "")
            echo -e "${RED}La clé du minion ${cert} n'existe pas${DEFAULT}"
            exit 1
            ;;
    esac

    echo -e "\n## Synchronisation des modules SaltStack ##"
    mkdir -p /srv/ead3/salt/_modules/
    mkdir -p "$(CreoleGet ead3_upload_path)"
    /usr/share/ewt/bin/registeraction.py
    [ ! $? = 0 ] && exit 1
    salt-call -c /etc/ead3/salt saltutil.sync_modules
fi
