#!/usr/bin/env bash

set -euo pipefail

ROOT=$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)
source ${ROOT}/lib.sh

remote_config=${CONFIG_PATH}
local_config=/tmp/base-config.yaml

download_blob "${remote_config}" "${local_config}"

app_repo=tidbcloud/app-delivery
git_ref="main"
region=$(yq '.region' "${local_config}")
logical_region_name=$(yq '.name' "${local_config}")
env=$(yq '.env' "${local_config}")
vendor=$(yq '.cloudProvider' "${local_config}")
jobId=$(yq '.jobId' "${local_config}")

if [ "$env" == "dev" ]; then
  default_dns_zone="observability-dev.pingcap.cloud"
elif [ "$env" == "staging" ]; then
  default_dns_zone="observability-staging.pingcap.cloud"
else
  default_dns_zone="observability.tidbcloud.com"
fi
ds_address="https://www.ds.${logical_region_name}.${vendor}.${default_dns_zone}"

clinic_env=$env
if [[ $env == "prod" ]]; then
    clinic_env="dev,staging,prod"
fi
datasource_name="Loki-${vendor}-${logical_region_name}"
url="${ds_address}/loki/self-monitoring"
params="-f env=${clinic_env} -f name=${datasource_name} -f url=${url} -f jobId=${jobId}"

# Create pull request by invoking new-region workflow.
gh workflow run add-loki-datasource.yaml --repo ${app_repo} --ref ${git_ref} ${params}
