@@ -27,10 +27,16 @@ set -o errexit
27
27
set -o nounset
28
28
set -o pipefail
29
29
30
- export DRY_RUN=false
31
- export VERBOSE=false
32
- export NAMESPACE=default
33
- export KUBECONFIG=$HOME /.kube/config
30
+ # script params
31
+ DRY_RUN=false
32
+ VERBOSE=false
33
+ # k8s params
34
+ NAMESPACE=default
35
+ KUBECONFIG=$HOME /.kube/config
36
+ # cmk params
37
+ CS_URL=
38
+ CS_APIKEY=
39
+ CS_SECRETKEY=
34
40
35
41
debug () {
36
42
if [[ " $VERBOSE " == " true" ]]; then
@@ -39,7 +45,7 @@ debug() {
39
45
}
40
46
41
47
_kubectl () {
42
- kubectl -n $NAMESPACE -o json $@
48
+ KUBECONFIG= $KUBECONFIG kubectl -n $NAMESPACE -o json $@
43
49
}
44
50
45
51
_cmk () {
@@ -51,27 +57,27 @@ get_affinity_groups() {
51
57
}
52
58
53
59
get_cluster () {
54
- affinityGroup=$1
60
+ local affinityGroup=$1
55
61
_kubectl get cloudstackaffinitygroup $affinityGroup | jq -r ' .metadata.labels."cluster.x-k8s.io/cluster-name"'
56
62
}
57
63
58
64
get_cluster_credentials () {
59
- cluster=$1
65
+ local cluster=$1
60
66
_kubectl get cloudstackcluster $cluster | jq -r ' .spec.failureDomains[].acsEndpoint.name' | uniq
61
67
}
62
68
63
69
setup_acs_credentials () {
64
- credential=$1
65
- export CS_URL=$( _kubectl get secret $credential | jq -r ' .data."api-url"' | base64 -D)
66
- export CS_APIKEY=$( _kubectl get secret $credential | jq -r ' .data."api-key"' | base64 -D)
67
- export CS_SECRETKEY=$( _kubectl get secret $credential | jq -r ' .data."secret-key"' | base64 -D)
70
+ local credential=$1
71
+ CS_URL=$( _kubectl get secret $credential | jq -r ' .data."api-url"' | base64 -D)
72
+ CS_APIKEY=$( _kubectl get secret $credential | jq -r ' .data."api-key"' | base64 -D)
73
+ CS_SECRETKEY=$( _kubectl get secret $credential | jq -r ' .data."secret-key"' | base64 -D)
68
74
debug " Using CloudStack Control Plane URL: $CS_URL and CloudStack Account: $( _cmk list users | jq -r ' .user[] | .account + " and User: " + .username' ) "
69
75
}
70
76
71
77
main () {
72
78
for ag in $( get_affinity_groups) ; do
73
79
echo " [info] Checking CloudStack Affinity Group: $ag "
74
- cluster=$( get_cluster $ag )
80
+ local cluster=$( get_cluster $ag )
75
81
for credential in $( get_cluster_credentials $cluster ) ; do
76
82
setup_acs_credentials $credential
77
83
CS_AG_ID=$( _kubectl get cloudstackaffinitygroup $ag | jq -r ' .spec.id' )
@@ -112,13 +118,13 @@ help() {
112
118
while getopts " :dkvh" option; do
113
119
case $option in
114
120
d)
115
- export DRY_RUN=true;;
121
+ DRY_RUN=true;;
116
122
k)
117
- export KUBECONFIG=$OPTARG ;;
123
+ KUBECONFIG=$OPTARG ;;
118
124
v)
119
- export VERBOSE=true;;
125
+ VERBOSE=true;;
120
126
n)
121
- export NAMESPACE=$OPTARG ;;
127
+ NAMESPACE=$OPTARG ;;
122
128
h)
123
129
help
124
130
exit ;;
0 commit comments