#!/bin/sh
# postinst script
#
# see: dh_installdeb(1)

set -e

# summary of how this script can be called:
#        * <postinst> `configure' <most-recently-configured-version>
#        * <old-postinst> `abort-upgrade' <new version>
#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
#          <new-version>
#        * <postinst> `abort-remove'
#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
#          <failed-install-package> <version> `removing'
#          <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package


export YA_ENV_TYPE=`cat /etc/yandex/environment.type`

updateYavKeys() {
    ROBOT_LOGIN=robot-passport-front
    # if deb is installed by admin or
    # if deb is installed by conductor

    yav-deploy -c /etc/yandex/yav_deploy/pkg/yandex-id-frontend/ --debug || \
        yav-deploy --rsa-login ${ROBOT_LOGIN} --rsa-private-key /usr/lib/yandex/passport-frontend/robot-passport-front-private-key -c /etc/yandex/yav_deploy/pkg/yandex-id-frontend/ --debug || \
        /bin/true;
}

installYasmConfig() {
    if [ "${YA_ENV_TYPE}" = "stress" ]; then
        return
    fi

    echo "Install new yasm config..."

    if [ -d "/usr/local/yasmagent/CONF/" ]; then
        cp -f /etc/yandex/id-frontend/agent.id-front.conf /usr/local/yasmagent/CONF/ || true
    fi

    /usr/share/passport-admin-config-golovan/passport_golovan_config.py -i id-front -c "hard-${YA_ENV_TYPE}" -p "id-frontend" > /etc/yandex/yasmagent/instances.d/id-frontend || true
    invoke-rc.d yasmagent restart || true
}

case "$1" in
    configure)
        updateYavKeys;
        bash /etc/yandex/id-frontend/gen_local_auth_token.sh;
        chown www-data /etc/yandex/id-frontend/tvmtool.local.auth;
        chown -R www-data: /var/log/yandex/id-frontend /var/cache/tvmtool-id-frontend/;

        installYasmConfig;
    ;;

    abort-upgrade|abort-remove|abort-deconfigure)
    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
    ;;
esac

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

exit 0
