#!/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/config.yaml
download_blob "${remote_config}" "${local_config}"

o11y_repo=tidbcloud/observability
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}")

remote_iam_config=$(yq '.jobOutput.basic-iam' "${local_config}")
local_iam_config=/tmp/iam-config.yaml
download_blob ${remote_iam_config} ${local_iam_config}

deploy_tenant_id=$(yq '.azure.controlplaneTenantId' "${local_config}")
deploy_client_id=$(yq '.azure.controlplaneClientId' "${local_config}")
azureLogin $deploy_tenant_id $deploy_client_id

regional_server_identity_principal_id=$(yq '.iam.regionalServer.principalId' "${local_iam_config}")
agent_controller_identity_principal_id=$(yq '.iam.agentController.principalId' "${local_iam_config}")
aad_groups=($(yq '.jobOptions.iam.aadGroups[]' "${local_config}"))
for group in "${aad_groups[@]}"; do
  removeAADGroupMember "${group}" "$regional_server_identity_principal_id"
  removeAADGroupMember "${group}" "${agent_controller_identity_principal_id}"
done
