forked from rancher/terraform-rancher2-aws
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaddKeyToAmazonConfig.sh
More file actions
executable file
·58 lines (44 loc) · 1.44 KB
/
addKeyToAmazonConfig.sh
File metadata and controls
executable file
·58 lines (44 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/sh
ACCESS_KEY="$1"
SECRET_KEY="$2"
if [ -z "$ACCESS_KEY" ]; then echo "need access key to proceed..."; exit 1; fi
if [ -z "$SECRET_KEY" ]; then echo "need secret key to proceed..."; exit 1; fi
NAMESPACE="fleet-default"
NAMES=$(kubectl get Amazonec2Config -n "$NAMESPACE" -o jsonpath='{.items[*].metadata.name}')
if [ -z "$NAMES" ]; then echo "names not found..."; exit 1; fi
cat <<EOT > patch.yaml
accessKey: '$ACCESS_KEY'
secretKey: '$SECRET_KEY'
EOT
for name in $NAMES; do
kubectl patch Amazonec2Config "$name" -n "$NAMESPACE" --type merge --patch-file patch.yaml
RESULT=$?
if [ $RESULT -ne 0 ]; then
echo "error: $RESULT"
exit $RESULT
fi
KEY="$(kubectl get Amazonec2Config "$name" -n "$NAMESPACE" -o json | jq -r '.accessKey')"
if [ -z "$KEY" ] || [ "null" = "$KEY" ]; then
echo "error: key not found on object"
exit 1
else
if [ "$KEY" != "$ACCESS_KEY" ]; then
echo "error: key not replaced properly"
exit 1
fi
echo "key replaced properly"
fi
SECRET="$(kubectl get Amazonec2Config "$name" -n "$NAMESPACE" -o json | jq -r '.secretKey')"
if [ -z "$SECRET" ] || [ "null" = "$SECRET" ]; then
echo "error: secret not found on object"
exit 1
else
if [ "$SECRET" != "$SECRET_KEY" ]; then
echo "error: secret not replaced properly"
exit 1
fi
echo "secret replaced properly"
fi
echo "Amazonec2Config $name in namespace $NAMESPACE updated."
done
rm -f patch.yaml