#!/bin/bash

MAINTENANCE_FILE=/maintenance.lock
KEEPALIVE_CONF=/etc/nginx/conf.d/00_keepalive.conf
KEEPALIVE_ENABLED_CONF=/etc/nginx/include/keepalive-enabled.conf
KEEPALIVE_DISABLED_CONF=/etc/nginx/include/keepalive-disabled.conf
ABYSSYNC_DISABLE_FLAG=/etc/yandex/abyssync.disabled

fail() {
    echo "$1 Fail"
    exit 1
}

success() {
    echo "$1 Success"
    exit 0
}

auto_close() {
    touch $MAINTENANCE_FILE
    ln -sf $KEEPALIVE_DISABLED_CONF $KEEPALIVE_CONF
    nginx -s reload
}

auto_open() {
    rm -f $MAINTENANCE_FILE
    ln -sf $KEEPALIVE_ENABLED_CONF $KEEPALIVE_CONF
    nginx -s reload
}

balancer_open(){
    rm -f $ABYSSYNC_DISABLE_FLAG
    auto_open
}

balancer_close(){
    touch $ABYSSYNC_DISABLE_FLAG
    auto_close
}

execute() {
    $1 || fail "$1"
    success "$1"
}

if [[ "$1" == "open" ]]; then
    execute balancer_open
elif [[ "$1" == "close" ]]; then
    execute balancer_close
elif [ -n "$1" ]; then
    execute $1
else
    echo "Usage: $0 <open|close|auto_open|auto_close>"
    exit 1
fi
