Skip to content

Commit

Permalink
redash script and url prompting
Browse files Browse the repository at this point in the history
  • Loading branch information
alanraju-aot committed Nov 19, 2024
1 parent b26b69e commit 2024cde
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 59 deletions.
108 changes: 54 additions & 54 deletions scripts/get_redash_api_key.sh
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
#!/bin/bash

# Check if the namespace was provided as an argument
if [ -z "$1" ]; then
echo "Namespace not provided. Exiting..."
exit 1
fi

# Retrieve the namespace from the argument
namespace="$1"
domain_name="$2"
analytics_subdomain="$3"

# Prompt the user for their Redash username
read -p "Enter your Redash username: " USERNAME

# Prompt the user for their Redash password (input hidden for security)
read -s -p "Enter your Redash password: " PASSWORD
echo

REDASH_URL="https://$analytics_subdomain-$namespace.$domain_name"
# Step 1: Authenticate and get session cookie
LOGIN_RESPONSE=$(curl -s -X POST "$REDASH_URL/login" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "email=$USERNAME" \
--data-urlencode "password=$PASSWORD" \
-c cookies.txt)

# Check if login was successful
if ! echo "$LOGIN_RESPONSE" | grep -q 'Redirecting'; then
echo "Login failed!"
exit 1
fi

echo "Login successful"

# Step 2: Retrieve the API key
API_RESPONSE=$(curl -s -X GET "$REDASH_URL/api/users/me" \
-b cookies.txt)

# Extract the API key
API_KEY=$(echo "$API_RESPONSE" | grep -Po '"api_key": *"\K[^"]*')

# Check if API key is extracted
if [ -z "$API_KEY" ]; then
echo "Failed to retrieve API key!"
exit 1
fi

# Return the API key
echo "$API_KEY"

# Cleanup cookies file
rm cookies.txt
#!/bin/bash

# Ensure namespace is provided
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
echo "Usage: $0 <namespace> <domain_name> <analytics_subdomain>"
exit 1
fi

NAMESPACE="$1"
DOMAIN_NAME="$2"
ANALYTICS_SUBDOMAIN="$3"

# Check if forms-flow-analytics is installed
if helm status "forms-flow-analytics" -n "$NAMESPACE" > /dev/null 2>&1; then
echo "forms-flow-analytics is already installed."
else
echo "forms-flow-analytics does not exist. Installing now."
helm install "forms-flow-analytics" ./forms-flow-analytics-chart -n "$NAMESPACE"
fi

REDASH_URL="https://$ANALYTICS_SUBDOMAIN-$NAMESPACE.$DOMAIN_NAME"

# Prompt for credentials
echo "Redash URL: $REDASH_URL"
read -p "Enter your Redash username: " USERNAME
read -s -p "Enter your Redash password: " PASSWORD
echo

# Authenticate and retrieve API key
LOGIN_RESPONSE=$(curl -s -X POST "$REDASH_URL/login" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode "email=$USERNAME" \
--data-urlencode "password=$PASSWORD" \
-c cookies.txt)

if ! echo "$LOGIN_RESPONSE" | grep -q 'Redirecting'; then
echo "Login failed! Verify your credentials or URL."
rm cookies.txt
exit 1
fi

API_RESPONSE=$(curl -s -X GET "$REDASH_URL/api/users/me" -b cookies.txt)
API_KEY=$(echo "$API_RESPONSE" | jq -r '.api_key')

if [ -z "$API_KEY" ]; then
echo "Failed to retrieve API key!"
rm cookies.txt
exit 1
fi

echo "Redash API Key: $API_KEY"

# Cleanup
rm cookies.txt
10 changes: 5 additions & 5 deletions scripts/install-forms-flow.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ runHelmInstall() {
helm upgrade --install forms-flow-api ../charts/forms-flow-api --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-api-$namespace.$domain_name --set image.repository=formsflow/forms-flow-webapi-ee -n $namespace --version $version_ff_api
helm upgrade --install forms-flow-bpm ../charts/forms-flow-bpm --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-bpm-$namespace.$domain_name --set image.repository=formsflow/forms-flow-bpm-ee --set camunda.websocket.securityOrigin=https://forms-flow-web-$namespace.$domain_name --set image.repository=formsflow/forms-flow-bpm-ee -n $namespace --version $version_ff_bpm
helm upgrade --install forms-flow-documents-api ../charts/forms-flow-documents-api --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-documents-api-$namespace.$domain_name --set image.repository=formsflow/forms-flow-documents-api-ee -n $namespace --version $version_ff_documents_api
helm upgrade --install forms-flow-data-analysis ../charts/forms-flow-data-analysis --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-data-analysis-$namespace.$domain_name --set ingress.tls=true --set image.repository=formsflow/forms-flow-data-analysis-api-ee -n $namespace --version $version_ff_data_analysis
helm upgrade --install forms-flow-data-analysis ../charts/forms-flow-data-analysis --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-data-analysis-$namespace.$domain_name --set ingress.tls=true --set image.repository=formsflow/forms-flow-data-analysis-api-ee -n $namespace --version $version_ff_data_analysis
helm upgrade --install forms-flow-web ../charts/forms-flow-web --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-web-$namespace.$domain_name --set image.repository=formsflow/forms-flow-web-ee -n $namespace --version $version_ff_web
helm upgrade --install forms-flow-admin ../charts/forms-flow-admin --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-admin-$namespace.$domain_name --set ingress.tls=true -n $namespace --version $version_ff_admin
else
Expand All @@ -87,9 +87,9 @@ runHelmInstall() {
helm upgrade --install forms-flow-api ../charts/forms-flow-api --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-api-$namespace.$domain_name --set image.repository=formsflow/forms-flow-webapi-ee -n $namespace --version $version_ff_api
helm upgrade --install forms-flow-bpm ../charts/forms-flow-bpm --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-bpm-$namespace.$domain_name --set image.repository=formsflow/forms-flow-bpm-ee --set camunda.websocket.securityOrigin=https://forms-flow-web-$namespace.$domain_name --set image.repository=formsflow/forms-flow-bpm-ee -n $namespace --version $version_ff_bpm
helm upgrade --install forms-flow-documents-api ../charts/forms-flow-documents-api --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-documents-api-$namespace.$domain_name --set image.repository=formsflow/forms-flow-documents-api-ee -n $namespace --version $version_ff_documents_api
helm upgrade --install forms-flow-data-analysis ../charts/forms-flow-data-analysis --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-data-analysis-$namespace.$domain_name --set ingress.tls=true --set image.repository=formsflow/forms-flow-data-analysis-api-ee -n $namespace --version $version_ff_data_analysis
helm upgrade --install forms-flow-data-analysis ../charts/forms-flow-data-analysis --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-data-analysis-$namespace.$domain_name --set ingress.tls=true --set image.repository=formsflow/forms-flow-data-analysis-api-ee -n $namespace --version $version_ff_data_analysis
helm upgrade --install forms-flow-web ../charts/forms-flow-web --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-web-$namespace.$domain_name --set image.repository=formsflow/forms-flow-web-ee -n $namespace --version $version_ff_web
helm upgrade --install forms-flow-admin ../charts/forms-flow-admin --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-admin-$namespace.$domain_name --set ingress.tls=true -n $namespace --version $version_ff_admin
helm upgrade --install forms-flow-admin ../charts/forms-flow-admin --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-admin-$namespace.$domain_name --set ingress.tls=true -n $namespace --version $version_ff_admin
fi

else
Expand All @@ -111,10 +111,10 @@ runHelmInstall() {
helm upgrade --install forms-flow-analytics ../charts/forms-flow-analytics --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-analytics-$namespace.$domain_name -n $namespace --version $version_ff_analytics
fi
fi
helm upgrade --install forms-flow-idm ../charts/forms-flow-idm --set keycloak.ingress.hostname=forms-flow-idm-$namespace.$domain_name --set postgresql-ha.postgresql.podSecurityContext.enabled=true --set keycloak.ingress.ingressClassName=$classname -n $namespace --version $version_ff_idm
helm upgrade --install forms-flow-idm ../charts/forms-flow-idm --set keycloak.ingress.hostname=forms-flow-idm-$namespace.$domain_name --set postgresql-ha.postgresql.podSecurityContext.enabled=true --set keycloak.ingress.ingressClassName=$classname -n $namespace --version $version_ff_idm
helm upgrade --install forms-flow-forms ../charts/forms-flow-forms --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-forms-$namespace.$domain_name --set ingress.tls=true -n $namespace --version $version_ff_forms
helm upgrade --install forms-flow-api ../charts/forms-flow-api --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-api-$namespace.$domain_name --set ingress.tls=true -n $namespace --version $version_ff_api
helm upgrade --install forms-flow-bpm ../charts/forms-flow-bpm --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-bpm-$namespace.$domain_name --set ingress.tls=true --set camunda.websocket.securityOrigin=https://forms-flow-web-$namespace.$domain_name -n $namespace --version $version_ff_bpm
helm upgrade --install forms-flow-bpm ../charts/forms-flow-bpm --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-bpm-$namespace.$domain_name --set ingress.tls=true --set camunda.websocket.securityOrigin=https://forms-flow-web-$namespace.$domain_name -n $namespace --version $version_ff_bpm
helm upgrade --install forms-flow-documents-api ../charts/forms-flow-documents-api --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-documents-api-$namespace.$domain_name --set ingress.tls=true -n $namespace --version $version_ff_documents_api
helm upgrade --install forms-flow-web ../charts/forms-flow-web --set ingress.ingressClassName=$classname --set ingress.hostname=forms-flow-web-$namespace.$domain_name --set ingress.tls=true -n $namespace --version $version_ff_web
fi
Expand Down

0 comments on commit 2024cde

Please sign in to comment.