echo -e "\nWaiting configmap registration-json to be created ... "
while true
do
if oc -n ibm-common-services get configmap | grep -q registration-json ; then
echo " configmap registration-json was created! waiting 180 sec ..."
sleep 180
break
else
sleep 15
fi
done
echo -e "\nGet & update platform-oidc-registration.json"
oc -n ibm-common-services get configmap registration-json -o jsonpath='{.data.*}' > $BACKUP_DATA/platform-oidc-registration.json
WID=`cat $BACKUP_DATA/src_WLP_CLIENT_ID`
jq '."client_id" = "'"$WID"'"' $BACKUP_DATA/platform-oidc-registration.json > tmp && mv tmp $BACKUP_DATA/platform-oidc-registration.json
WST=`cat $BACKUP_DATA/src_WLP_CLIENT_SECRET`
jq '."client_secret" = "'"$WST"'"' $BACKUP_DATA/platform-oidc-registration.json > tmp && mv tmp $BACKUP_DATA/platform-oidc-registration.json
echo -e "\nGet access_token ..."
iam_user=`oc -n ibm-common-services get secret ibm-iam-bindinfo-platform-auth-idp-credentials -o jsonpath='{.data.admin_username}' | base64 -d `
iam_pwd=`oc -n ibm-common-services get secret ibm-iam-bindinfo-platform-auth-idp-credentials -o jsonpath='{.data.admin_password}' | base64 -d`
iam_cluster_address=`oc get route -n ibm-common-services cp-console -o jsonpath={.spec.host}`
iam_json_data=`curl -k -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' \
-d "grant_type=password&username=$iam_user&password=$iam_pwd&scope=openid" \
https://$iam_cluster_address/idprovider/v1/auth/identitytoken`
access_token=`echo $iam_json_data | jq .access_token | cut -d\" -f2`
echo "access_token is $access_token"
pod=`oc get pods |grep ibm-cp4a-operator | cut -d' ' -f1`
oc cp $BACKUP_DATA/platform-oidc-registration.json $pod:/tmp/
echo -e "\nRun OIDC Registration API on the restored cluster ..."
oc rsh $pod curl -i -k -X POST --header "Authorization: Bearer $access_token" \
--header "Content-Type: application/json" \
--data "@/tmp/platform-oidc-registration.json"\
https://$iam_cluster_address:443/idprovider/v1/auth/registration
echo -e "\nDone."