#!/bin/sh
echo "$GCP_CREDS" > $GOOGLE_APPLICATION_CREDENTIALS

# postgresql: these are default values for docker compose
# replace with your own if you have a postgresql instance
DB_HOST=$(echo "$DB_PARAMS" | jq -r .host)
DB_USERNAME=$(echo "$DB_PARAMS" | jq -r .username)
DB_PASSWORD=$(echo "$DB_PARAMS" | jq -r .password)
DB_NAME=$(echo "$DB_PARAMS" | jq -r .database)
JDBC_URL="jdbc:postgresql://${DB_HOST}:5432/${DB_NAME}"

#envsubst '$${HEALTHCHECK_PATH},$${PROXY_CACHE_PATH},$${PROXY_CACHE_KEYS_ZONE},$${PROXY_CACHE_MAX_SIZE},$${PROXY_CACHE_INACTIVE},$${SERVER_NAME},$${BACKEND_ADDRESS},' \
#  < /usr/share/nginx/nginx.conf.template > /etc/nginx/nginx.conf && cat /etc/nginx/nginx.conf && exec nginx -g 'daemon off;'
HTTP_ADM_PASSWORD=${HTTP_ADM_PASSWORD:-rBmzXE977EYjnchRwK}
HTTP_ADM_USERNAME=${HTTP_ADM_USERNAME:-sme}
HTTP_BACKEND_PORT=${HTTP_BACKEND_PORT:-8080}
HTTP_EXPOSE_PORT=${HTTP_EXPOSE_PORT:-8000}
if [ ${HTTP_BACKEND_PORT} -eq ${HTTP_EXPOSE_PORT} ]; then
    echo "ERROR: HTTP_BACKEND_PORT is equal to HTTP_EXPOSE_PORT"
    exit 9
fi

echo ${HTTP_ADM_USERNAME}:$(echo $HTTP_ADM_PASSWORD | openssl passwd -apr1 -stdin) > /etc/nginx/conf.d/nginx.htpasswd

cat << EOF > /etc/nginx/sites-enabled/default
server {
    listen ${HTTP_EXPOSE_PORT} default_server;
    listen [::]:${HTTP_EXPOSE_PORT} default_server;
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;
    server_name _;
    location / {
        access_log off;
        auth_basic "Bigtable Autoscaler realm";
        auth_basic_user_file /etc/nginx/conf.d/nginx.htpasswd;
        proxy_pass http://localhost:${HTTP_BACKEND_PORT};
        proxy_set_header X-Real-IP \$remote_addr;
        proxy_set_header Host \$host;
        proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
    }
    location = /health {
        return 200 'test ok';
        add_header Content-Type text/plain;
    }
}
EOF

echo "=== Checking nginx configuration ==="
nginx -t || ( exit 9 )

echo "=== Starting nginx configuration ==="
nginx || ( exit 9 )

echo "=== Starting bigtable-autoscaler ==="
java -cp /usr/share/bigtable-autoscaler/bigtable-autoscaler.jar:/usr/share/bigtable-autoscaler/lib/* com.spotify.autoscaler.Main
