Added TrueCharts db tools
Copied from here: https://truecharts.org/manual/SCALE/guides/sql-export/ Link to source of page: https://github.com/truecharts/website/blame/main/docs/manual/SCALE/guides/sql-export.md#L13 Permalink in space/time: https://github.com/truecharts/website/blame/30484d04f7079d43e7948e267f894954c936c1db/docs/manual/SCALE/guides/sql-export.md#L13
This commit is contained in:
parent
9860c9a2d6
commit
121ac483ca
2 changed files with 65 additions and 0 deletions
28
tcdbinfo.sh
Executable file
28
tcdbinfo.sh
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/bin/bash
|
||||
|
||||
# get namespaces
|
||||
namespaces=$(k3s kubectl get secrets -A | grep -E "dbcreds|cnpg-main-urls" | awk '{print $1, $2}')
|
||||
|
||||
# iterate over namespaces
|
||||
( printf "Application | Username | Password | Address | Port\n"
|
||||
echo "$namespaces" | while read ns secret; do
|
||||
# extract application name
|
||||
app_name=$(echo "$ns" | sed 's/^ix-//')
|
||||
if [ "$secret" = "dbcreds" ]; then
|
||||
creds=$(k3s kubectl get secret/$secret --namespace "$ns" -o jsonpath='{.data.url}' | base64 -d)
|
||||
else
|
||||
creds=$(k3s kubectl get secret/$secret --namespace "$ns" -o jsonpath='{.data.std}' | base64 -d)
|
||||
fi
|
||||
|
||||
# get username, password, addresspart, and port
|
||||
username=$(echo "$creds" | awk -F '//' '{print $2}' | awk -F ':' '{print $1}')
|
||||
password=$(echo "$creds" | awk -F ':' '{print $3}' | awk -F '@' '{print $1}')
|
||||
addresspart=$(echo "$creds" | awk -F '@' '{print $2}' | awk -F ':' '{print $1}')
|
||||
port=$(echo "$creds" | awk -F ':' '{print $4}' | awk -F '/' '{print $1}')
|
||||
|
||||
# construct full address
|
||||
full_address="${addresspart}.${ns}.svc.cluster.local"
|
||||
|
||||
# print results with aligned columns
|
||||
printf "%s | %s | %s | %s | %s\n" "$app_name" "$username" "$password" "$full_address" "$port"
|
||||
done ) | column -t -s "|"
|
Loading…
Add table
Add a link
Reference in a new issue