Skip to content

Commit 00e5734

Browse files
committed
Run shfmt on scripts
1 parent 140092d commit 00e5734

File tree

4 files changed

+245
-254
lines changed

4 files changed

+245
-254
lines changed

functions

+41-41
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,51 @@
11
#!/usr/bin/env bash
22

33
function get_mongodb_uri() {
4-
local namespace=$1
5-
local cluster=$2
6-
local replset=$3
7-
local username=$4
8-
local password=$5
9-
local endpoint=$6
10-
local database=$7
11-
local user_secrets=""
12-
local sharding=""
13-
local replset_exposed=""
4+
local namespace=$1
5+
local cluster=$2
6+
local replset=$3
7+
local username=$4
8+
local password=$5
9+
local endpoint=$6
10+
local database=$7
11+
local user_secrets=""
12+
local sharding=""
13+
local replset_exposed=""
1414

15-
if [[ -z "${password}" && "${username}" == "backup" ]]; then
16-
user_secrets=$(kubectl get psmdb ${cluster} -ojson | jq -r ".spec.secrets.users")
17-
password=$(kubectl get secrets ${user_secrets} -o jsonpath="{.data.MONGODB_BACKUP_PASSWORD}" ${namespace:+--namespace $namespace} | base64 --decode)
18-
elif [[ ! -z "${password}" && "${username}" == "backup" ]]; then
19-
echo "When specifying password please specify --user also." >&2
20-
return 1
21-
fi
15+
if [[ -z ${password} && ${username} == "backup" ]]; then
16+
user_secrets=$(kubectl get psmdb "${cluster}" -ojson | jq -r ".spec.secrets.users")
17+
password=$(kubectl get secrets "${user_secrets}" -o jsonpath="{.data.MONGODB_BACKUP_PASSWORD}" ${namespace:+--namespace $namespace} | base64 --decode)
18+
elif [[ -n ${password} && ${username} == "backup" ]]; then
19+
echo "When specifying password please specify --user also." >&2
20+
return 1
21+
fi
2222

23-
sharding=$(kubectl get psmdb ${cluster} -o jsonpath='{.spec.sharding.enabled}')
24-
if [[ "${sharding}" == "false" && -z "${replset}" ]]; then
25-
replset=$(kubectl get psmdb ${cluster} -o jsonpath='{.spec.replsets[0].name}' ${namespace:+--namespace $namespace})
26-
fi
23+
sharding=$(kubectl get psmdb "${cluster}" -o jsonpath='{.spec.sharding.enabled}')
24+
if [[ ${sharding} == "false" && -z ${replset} ]]; then
25+
replset=$(kubectl get psmdb "${cluster}" -o jsonpath='{.spec.replsets[0].name}' ${namespace:+--namespace $namespace})
26+
fi
2727

28-
if [[ ! -z "${replset}" ]]; then
29-
if [[ "${replset}" != "cfg" ]]; then
30-
replset_exposed=$(kubectl get psmdb ${cluster} -ojson | jq -r ".spec.replsets | select(.[].name | contains (\"${replset}\")) | .[].expose.enabled")
31-
else
32-
replset_exposed=$(kubectl get psmdb ${cluster} -ojson | jq -r ".spec.sharding.configsvrReplSet.expose.enabled")
33-
fi
28+
if [[ -n ${replset} ]]; then
29+
if [[ ${replset} != "cfg" ]]; then
30+
replset_exposed=$(kubectl get psmdb "${cluster}" -ojson | jq -r ".spec.replsets | select(.[].name | contains (\"${replset}\")) | .[].expose.enabled" | head -n1)
31+
else
32+
replset_exposed=$(kubectl get psmdb "${cluster}" -ojson | jq -r ".spec.sharding.configsvrReplSet.expose.enabled")
33+
fi
3434

35-
if [[ -z "${replset_exposed}" ]]; then
36-
echo "Replica set name not found!" >&2
37-
return 1
38-
fi
39-
fi
35+
if [[ -z ${replset_exposed} ]]; then
36+
echo "Replica set name not found!" >&2
37+
return 1
38+
fi
39+
fi
4040

41-
if [[ -z "${endpoint}" ]]; then
42-
endpoint=$(kubectl get psmdb ${cluster} -o jsonpath="{.status.host}" ${namespace:+--namespace $namespace})
43-
if [[ ! -z "${replset}" && "${replset_exposed}" == "false" ]]; then
44-
endpoint="${cluster}-${replset}.${namespace}.svc.cluster.local"
45-
elif [[ ! -z "${replset}" && "${replset_exposed}" == "true" ]]; then
46-
endpoint="${cluster}-${replset}-0.${namespace}.svc.cluster.local"
47-
fi
48-
fi
41+
if [[ -z ${endpoint} ]]; then
42+
endpoint=$(kubectl get psmdb "${cluster}" -o jsonpath="{.status.host}" ${namespace:+--namespace $namespace})
43+
if [[ -n ${replset} && ${replset_exposed} == "false" ]]; then
44+
endpoint="${cluster}-${replset}.${namespace}.svc.cluster.local"
45+
elif [[ -n ${replset} && ${replset_exposed} == "true" ]]; then
46+
endpoint="${cluster}-${replset}-0.${namespace}.svc.cluster.local"
47+
fi
48+
fi
4949

50-
echo "mongodb://${username}:${password}@${endpoint}/${database}?ssl=false&authSource=admin${replset:+&replicaSet=$replset}"
50+
echo "mongodb://${username}:${password}@${endpoint}/${database}?ssl=false&authSource=admin${replset:+&replicaSet=$replset}"
5151
}

psmdb-client.sh

+74-77
Original file line numberDiff line numberDiff line change
@@ -4,91 +4,88 @@ src_dir=$(realpath $(dirname $0))
44
source ${src_dir}/functions
55

66
usage() {
7-
if [ $# -ne 2 ]; then
8-
echo "Usage: psmdb-client.sh --namespace <ns> --cluster <cluster>"
9-
exit 1
10-
fi
7+
echo "Usage: $(basename "$0") --namespace <ns> --cluster <cluster>"
8+
exit 1
119
}
1210

1311
main() {
1412

15-
local cluster=""
16-
local namespace=""
17-
local username="backup"
18-
local password=""
19-
local endpoint=""
20-
local replset=""
21-
local database="admin"
13+
local cluster=""
14+
local namespace=""
15+
local username="backup"
16+
local password=""
17+
local endpoint=""
18+
local replset=""
19+
local database="admin"
2220

23-
while [[ $# -gt 0 ]]
24-
do
25-
key="$1"
26-
case "${key}" in
27-
-h|--help)
28-
usage
29-
exit 0
30-
;;
31-
-c|--cluster)
32-
cluster="$2"
33-
shift
34-
shift
35-
;;
36-
-n|--namespace)
37-
namespace="$2"
38-
shift
39-
shift
40-
;;
41-
-r|--replset)
42-
replset="$2"
43-
shift
44-
shift
45-
;;
46-
-u|--user)
47-
username="$2"
48-
shift
49-
shift
50-
;;
51-
-p|--password)
52-
password="$2"
53-
shift
54-
shift
55-
;;
56-
-e|--endpoint)
57-
endpoint="$2"
58-
shift
59-
shift
60-
;;
61-
*)
62-
echo "unknown flag or option ${key}"
63-
usage
64-
exit 1
65-
;;
66-
esac
67-
done
21+
while [[ $# -gt 0 ]]; do
22+
key="$1"
23+
case "${key}" in
24+
-h | --help)
25+
usage
26+
exit 0
27+
;;
28+
-c | --cluster)
29+
cluster="$2"
30+
shift
31+
shift
32+
;;
33+
-n | --namespace)
34+
namespace="$2"
35+
shift
36+
shift
37+
;;
38+
-r | --replset)
39+
replset="$2"
40+
shift
41+
shift
42+
;;
43+
-u | --user)
44+
username="$2"
45+
shift
46+
shift
47+
;;
48+
-p | --password)
49+
password="$2"
50+
shift
51+
shift
52+
;;
53+
-e | --endpoint)
54+
endpoint="$2"
55+
shift
56+
shift
57+
;;
58+
*)
59+
echo "unknown flag or option ${key}"
60+
usage
61+
exit 1
62+
;;
63+
esac
64+
done
6865

69-
if [[ -z "${namespace}" ]]; then
70-
namespace=$(kubectl config view --minify --output 'jsonpath={..namespace}')
71-
fi
66+
if [[ -z ${namespace} ]]; then
67+
namespace=$(kubectl config view --minify --output 'jsonpath={..namespace}')
68+
fi
7269

73-
if [[ -z "${cluster}" ]]; then
74-
cluster=$(kubectl get psmdb --output name ${namespace:+--namespace $namespace} 2>/dev/null | sed 's:^perconaservermongodb.psmdb.percona.com/::')
75-
if [ $(echo "${cluster}" | wc -l) -gt 1 ]; then
76-
echo "There's more than one cluster, please specify --cluster <cluster> !"
77-
exit 1
78-
elif [ -z "${cluster}" ]; then
79-
echo "No cluster available in the namespace!"
80-
exit 1
81-
fi
82-
fi
70+
if [[ -z ${cluster} ]]; then
71+
cluster=$(kubectl get psmdb --output name ${namespace:+--namespace $namespace} 2>/dev/null | sed 's:^perconaservermongodb.psmdb.percona.com/::')
72+
if [ "$(echo "${cluster}" | wc -l)" -gt 1 ]; then
73+
echo "There's more than one cluster, please specify --cluster <cluster> !"
74+
exit 1
75+
elif [ -z "${cluster}" ]; then
76+
echo "No cluster available in the namespace!"
77+
exit 1
78+
fi
79+
fi
8380

84-
mongodb_uri=$(get_mongodb_uri "${namespace}" "${cluster}" "${replset}" "${username}" "${password}" "${endpoint}" "${database}")
85-
if [[ ! -z "${mongodb_uri}" ]]; then
86-
set -x
87-
kubectl run -i --rm --tty percona-client-${RANDOM} --image=percona/percona-server-mongodb:4.4 --restart=Never -- mongo "${mongodb_uri}"
88-
else
89-
echo "Error getting MongoDB URI!"
90-
exit 1
91-
fi
81+
mongodb_uri=$(get_mongodb_uri "${namespace}" "${cluster}" "${replset}" "${username}" "${password}" "${endpoint}" "${database}")
82+
if [[ -n ${mongodb_uri} ]]; then
83+
set -x
84+
kubectl run -i --rm --tty percona-client-${RANDOM} --image=percona/percona-server-mongodb:4.4 --restart=Never -- mongo "${mongodb_uri}"
85+
else
86+
echo "Error getting MongoDB URI!"
87+
exit 1
88+
fi
9289
}
9390

9491
main "$@" || exit 1

0 commit comments

Comments
 (0)