Files
qmi-cloud-tf-modules/vm-qdc/scripts/feb2021/setup-QVDCatalog-DataManager.sh
2021-03-23 19:08:55 +01:00

232 lines
7.2 KiB
Bash

#!/bin/bash
BASEDIR=$(dirname "$0")
echo "Start setup-QVDCatalog-DataManager.sh"
echo "This will configure QVD Catalog in DataManager for Qlik Sense"
# Install JQ for JSON parsing
echo "Install JQ for JSON parsing"
sudo yum install epel-release -y -q
sudo yum install jq -y -q
QS_HOST=$1
PASSWD=$2
QDC_HOST=$3
echo "QS_HOST: "$QS_HOST
echo "PASSWD: "$PASSWD
echo "QDC_HOST: "$QDC_HOST
rm -f ticket.txt
rm -f auth.txt
targetId=$(curl -I -X GET https://$QS_HOST/api/qdc/v1/setup/ui/page.html \
-H 'Connection: keep-alive' \
-H "x-qlik-xrfkey: 0123456789abcdef" \
--compressed --insecure | grep ?targetId= |awk -F'=' '{print $2}')
echo "TargetId:" $targetId
URL="https://$QS_HOST/internal_forms_authentication/?targetId=$targetId"
URL=${URL%$'\r'}
echo "URL: $URL"
curl -v -X POST $URL --data "username=.%5Cqlik&pwd=$PASSWD" --compressed --insecure > auth.txt 2>&1
ticket=$(cat auth.txt | grep ?qlikTicket= | awk -F'=' '{print $2}')
echo "TicketId:"$ticket
URL="https://$QS_HOST/api/qdc/v1/setup/ui/page.html?qlikTicket="$ticket
URL=${URL%$'\r'}
echo "URL:$URL"
curl -v -X GET $URL --insecure -c $BASEDIR/qdc.cookie.txt
echo "---> Start QVD Catalog Setup"
echo ""
echo "PG_TEST"
URL="https://$QS_HOST/api/qdc/v1/setup/pg_test"
URL=${URL%$'\r'}
echo "Connectiong to URL:$URL"
curl $URL \
-H 'Connection: keep-alive' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Accept: */*' \
-H 'Origin: https://'$QS_HOST \
-H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H "Referer: https://$QS_HOST/api/qdc/v1/setup/ui/page.html" \
-H 'Accept-Language: en-US,en;q=0.9' \
--data-binary '{"Server":"localhost","Port":"4432","User":"qliksenserepository","Password":"Qlik1234","Database":"SenseServices"}' \
--compressed \
--insecure \
-b $BASEDIR/qdc.cookie.txt
echo ""
echo "PG_APPLY"
URL="https://$QS_HOST/api/qdc/v1/setup/pg_setup"
URL=${URL%$'\r'}
echo "Connectiong to URL:$URL"
curl $URL \
-H 'Connection: keep-alive' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Accept: */*' \
-H 'Origin: https://'$QS_HOST \
-H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H "Referer: https://$QS_HOST/api/qdc/v1/setup/ui/page.html" \
-H 'Accept-Language: en-US,en;q=0.9' \
--data-binary '{"Server":"localhost","Port":"4432","User":"qliksenserepository","Password":"Qlik1234","Database":"SenseServices"}' \
--compressed \
--insecure \
-b $BASEDIR/qdc.cookie.txt
echo ""
echo "QRS_TEST"
URL="https://$QS_HOST/api/qdc/v1/setup/qrs_test"
URL=${URL%$'\r'}
echo "Connectiong to URL: $URL"
curl $URL \
-H 'Connection: keep-alive' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Accept: */*' \
-H 'Origin: https://'$QS_HOST \
-H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H "Referer: https://$QS_HOST/api/qdc/v1/setup/ui/page.html" \
-H 'Accept-Language: en-US,en;q=0.9' \
--data-binary '{"Server":"https://localhost:4242/qrs"}' \
--compressed \
--insecure \
-b $BASEDIR/qdc.cookie.txt
echo ""
echo "QRS_APPLY"
URL="https://$QS_HOST/api/qdc/v1/setup/qrs_setup"
URL=${URL%$'\r'}
echo "Connectiong to URL: $URL"
curl $URL \
-H 'Connection: keep-alive' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Accept: */*' \
-H 'Origin: https://'$QS_HOST \
-H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H "Referer: https://$QS_HOST/api/qdc/v1/setup/ui/page.html" \
-H 'Accept-Language: en-US,en;q=0.9' \
--data-binary '{"Server":"https://localhost:4242/qrs"}' \
--compressed \
--insecure \
-b $BASEDIR/qdc.cookie.txt
echo ""
echo "QDC TEST"
URL="https://$QS_HOST/api/qdc/v1/setup/qdc_test"
URL=${URL%$'\r'}
echo "Connectiong to URL: $URL"
#DATA="{\"Server\":\"http://$QDC_HOST\",\"User\":\"podium\",\"Password\":\"nvs2014\u0021\"}"
DATA='{"Server":"http://'${QDC_HOST}'","User":"podium","Password":"nvs2014!"}'
DATA=${DATA%$'\r'}
echo "DATA --> "$DATA
curl $URL \
-H 'Connection: keep-alive' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Accept: */*' \
-H 'Origin: https://'$QS_HOST \
-H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H "Referer: https://$QS_HOST/api/qdc/v1/setup/ui/page.html" \
-H 'Accept-Language: en-US,en;q=0.9' \
--data-binary $"$DATA" \
--compressed \
--insecure \
-b $BASEDIR/qdc.cookie.txt
echo ""
echo "QDC APPLY"
URL="https://$QS_HOST/api/qdc/v1/setup/qdc_setup"
URL=${URL%$'\r'}
echo "Connecting to URL: $URL"
curl $URL \
-H 'Connection: keep-alive' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36' \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Accept: */*' \
-H 'Origin: https://'$QS_HOST \
-H 'Sec-Fetch-Site: same-origin' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H "Referer: https://$QS_HOST/api/qdc/v1/setup/ui/page.html" \
-H 'Accept-Language: en-US,en;q=0.9' \
--data-binary $"$DATA" \
--compressed \
--insecure \
-b $BASEDIR/qdc.cookie.txt
#echo "---"
#echo "---> Generate JWT Token"
#URL="https://$QS_HOST/api/qdc/v1/setup/qdc_jwt"
#URL=${URL%$'\r'}
#echo "Connectiong to URL:$URL"
#DATA="{\"User\":\"qlik-data-catalyst\",\"Directory\":\"QLIK-EXTERNAL-SERVICE\",\"Prefix\":\"qdc\",\"Description\":\"QlikDataCatalyst\",\"Timeout\":\"30\",\"Cookie\":\"X-Qlik-QDC-Session\",\"Tag\":\"QVDCatalog\"}"
#echo "DATA --> "$DATA
#SAVED=$(curl -X POST $URL \
# -H 'Connection: keep-alive' \
# -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36' \
# -H 'Content-Type: application/json; charset=utf-8' \
# -H 'Accept: */*' \
# -H 'Origin: https://'$QS_HOST \
# -H 'Sec-Fetch-Site: same-origin' \
# -H 'Sec-Fetch-Mode: cors' \
# -H 'Sec-Fetch-Dest: empty' \
# -H "Referer: https://$QS_HOST/api/qdc/v1/setup/ui/page.html" \
# -H 'Accept-Language: en-US,en;q=0.9' \
# --data-binary $DATA \
# --compressed \
# --insecure \
# -b $BASEDIR/qdc.cookie.txt)
#echo "JWT RESPONSE ="$SAVED
#JWT=$(echo $SAVED | jq '.jwt')
#JWT=${JWT#"\""}
#JWT=${JWT%"\""}
yes | cp $BASEDIR/qdc.cookie.txt /usr/local/qdc/QVDs
#echo "JTW to save = "$JWT
#echo "__________________________________________________________________"
#echo $JWT > /root/jwt.save
#su qdc -c /usr/local/qdc/apache-tomcat-9.0.38/bin/shutdown.sh
#echo "Stopping tomcat"
#Restart Catalog
#su qdc -c /usr/local/qdc/apache-tomcat-9.0.38/bin/startup.sh
#echo "Started Tamcat"