1
1
#! /bin/bash
2
2
3
3
helm_update () {
4
- if [[ " ${HELM} " == " helm_v3" ]]; then
5
- LINE=" $( ${HELM} ls --all -f " ^${NAME} \$ " --namespace ${TARGET_NAMESPACE} --output json | jq -r " ${JQ_CMD} " | tr ' [:upper:]' ' [:lower:]' ) "
6
- else
7
- LINE=" $( ${HELM} ls --all " ^${NAME} \$ " --output json | jq -r " ${JQ_CMD} " | tr ' [:upper:]' ' [:lower:]' ) "
8
- fi
4
+ LINE=" $( ${HELM} ls --all -f " ^${NAME} \$ " --namespace ${TARGET_NAMESPACE} --output json | jq -r " ${JQ_CMD} " | tr ' [:upper:]' ' [:lower:]' ) "
9
5
IFS=, read -r INSTALLED_VERSION STATUS _ <<< ${LINE}
10
6
VALUES=" "
11
7
@@ -19,14 +15,8 @@ helm_update() {
19
15
echo " No ${HELM} chart installed; nothing to delete" >> ${TERM_LOG}
20
16
exit
21
17
fi
22
- if [[ " ${HELM} " == " helm_v3" ]]; then
23
- echo " Uninstalling ${HELM} chart" >> ${TERM_LOG}
24
- ${HELM} uninstall ${NAME} --namespace ${TARGET_NAMESPACE} --wait || true
25
- else
26
- echo " Deleting and purging ${HELM} chart" >> ${TERM_LOG}
27
- ${HELM} delete ${NAME} || true
28
- ${HELM} " $@ " --purge ${NAME}
29
- fi
18
+ echo " Uninstalling ${HELM} chart" >> ${TERM_LOG}
19
+ ${HELM} uninstall ${NAME} --namespace ${TARGET_NAMESPACE} --wait || true
30
20
exit
31
21
fi
32
22
@@ -37,8 +27,8 @@ helm_update() {
37
27
exit
38
28
fi
39
29
40
- # If a previous helm_v3 operation was interrupted unexpectedly, set it to failed.
41
- if [[ " ${STATUS} " =~ ^(pending-install| pending-upgrade| pending-rollback)$ ]] && [[ " ${HELM} " == " helm_v3 " ]] ; then
30
+ # If a previous helm operation was interrupted unexpectedly, set it to failed.
31
+ if [[ " ${STATUS} " =~ ^(pending-install| pending-upgrade| pending-rollback)$ ]]; then
42
32
echo Previous helm job was interrupted, updating status from ${STATUS} to failed
43
33
echo " Resetting ${HELM} release status from '${STATUS} ' to 'failed'" >> ${TERM_LOG}
44
34
${HELM} set-status ${NAME} failed --namespace ${TARGET_NAMESPACE}
@@ -59,11 +49,7 @@ helm_update() {
59
49
# Upgrade only if the chart is already deployed
60
50
if [[ " ${STATUS} " == " deployed" ]]; then
61
51
echo " Already installed ${NAME} "
62
- if [[ " ${HELM} " == " helm_v3" ]]; then
63
- ${HELM} mapkubeapis ${NAME} --namespace ${TARGET_NAMESPACE}
64
- else
65
- ${HELM} mapkubeapis ${NAME} --v2
66
- fi
52
+ ${HELM} mapkubeapis ${NAME} --namespace ${TARGET_NAMESPACE}
67
53
68
54
echo " Upgrading ${HELM} chart" >> ${TERM_LOG}
69
55
echo " Upgrading ${NAME} "
@@ -75,13 +61,8 @@ helm_update() {
75
61
# The chart is in a bad state; try uninstalling it first
76
62
if [[ " ${STATUS} " =~ ^(deleted| failed| null| unknown)$ ]]; then
77
63
if [[ " ${FAILURE_POLICY:- reinstall} " == " reinstall" ]]; then
78
- if [[ " ${HELM} " == " helm_v3" ]]; then
79
- echo " Uninstalling ${STATUS} ${HELM} chart" >> ${TERM_LOG}
80
- ${HELM} uninstall ${NAME} --namespace ${TARGET_NAMESPACE} --wait
81
- else
82
- echo " Purging ${STATUS} ${HELM} chart" >> ${TERM_LOG}
83
- ${HELM} " $@ " --purge ${NAME}
84
- fi
64
+ echo " Uninstalling ${STATUS} ${HELM} chart" >> ${TERM_LOG}
65
+ ${HELM} uninstall ${NAME} --namespace ${TARGET_NAMESPACE} --wait
85
66
echo Deleted
86
67
# Try installing now that we've uninstalled
87
68
echo " Installing ${HELM} chart" >> ${TERM_LOG}
@@ -107,22 +88,13 @@ helm_repo_init() {
107
88
return
108
89
fi
109
90
110
- if [[ " ${HELM} " == " helm_v3" ]]; then
111
- if [[ ${CHART} == stable/* ]]; then
112
- ${HELM} repo add ${CA_FILE_ARG} stable ${STABLE_REPO_URL}
113
- ${HELM} repo update
114
- fi
115
- else
116
- ${HELM} repo update --strict || ${HELM} repo remove stable
91
+ if [[ ${CHART} == stable/* ]]; then
92
+ ${HELM} repo add ${CA_FILE_ARG} stable ${STABLE_REPO_URL}
93
+ ${HELM} repo update
117
94
fi
118
95
119
96
if [[ -n " ${REPO} " ]]; then
120
97
if [[ -f " ${AUTH_DIR} /username" ]] && [[ -f " ${AUTH_DIR} /password" ]]; then
121
- if [[ " ${HELM} " == " helm_v2" ]]; then
122
- echo " Repo authentication is not supported with v2 charts" >> ${TERM_LOG}
123
- echo " Repo authentication is not supported with v2 charts"
124
- exit 1
125
- fi
126
98
if [[ " ${AUTH_PASS_CREDENTIALS} " == " true" ]]; then
127
99
PASS_CREDENTIALS_ARG=" --pass-credentials"
128
100
fi
@@ -158,7 +130,7 @@ export TERM_LOG=/dev/termination-log
158
130
export SSL_CERT_FILE=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
159
131
export SSL_CERT_DIR=/etc/ssl/certs
160
132
export HELM_TLS_CA_CERT=${SSL_CERT_FILE}
161
- HELM=" helm_v3 "
133
+ HELM=" helm "
162
134
NAME_ARG=" "
163
135
CA_FILE_ARG=" "
164
136
TIMEOUT_ARG=" "
175
147
176
148
set +v -x
177
149
178
- if [[ " ${BOOTSTRAP} " != " true" ]]; then
179
- tiller --listen=127.0.0.1:44134 --storage=secret &
180
- export HELM_HOST=127.0.0.1:44134
181
-
182
- helm_v2 init --skip-refresh --client-only --stable-repo-url ${STABLE_REPO_URL}
183
- V2_CHART_EXISTS=$( timeout -s KILL 30 helm_v2 ls --all " ^${NAME} \$ " --output json | jq -r ' .Releases | length' )
184
- fi
185
-
186
- if [[ " ${V2_CHART_EXISTS} " == " 1" ]] || [[ " ${HELM_VERSION} " == " v2" ]]; then
187
- if [[ " ${BOOTSTRAP} " == " true" ]]; then
188
- echo " Can't bootstrap ${HELM} chart" >> ${TERM_LOG}
189
- echo " Error: bootstrap flag can't be set with helm version 2 charts, please remove the bootstrap flag and update the chart"
190
- exit 1
191
- fi
192
- HELM=" helm_v2"
193
- NAME_ARG=" --name"
194
- JQ_CMD=' "\(.Releases[0].AppVersion),\(.Releases[0].Status)"'
150
+ if [[ " ${HELM_VERSION} " == " v2" ]]; then
151
+ echo " Helm v2 is EOL effective 2020-11-13; upgrade your chart to helm v3" >> ${TERM_LOG}
152
+ echo " Helm v2 is EOL effective 2020-11-13; upgrade your chart to helm v3"
153
+ exit 1
195
154
fi
196
155
197
156
shopt -s nullglob
@@ -211,11 +170,7 @@ if [[ -f "/tmp/ca-file.pem" ]]; then
211
170
fi
212
171
213
172
if [[ -n " ${TIMEOUT} " ]]; then
214
- if [[ " ${HELM} " == " helm_v3" ]]; then
215
- TIMEOUT_ARG=" --timeout ${TIMEOUT} "
216
- else
217
- echo " Warning: timeout flag can't be set with version 2 charts, using default timeout"
218
- fi
173
+ TIMEOUT_ARG=" --timeout ${TIMEOUT} "
219
174
fi
220
175
221
176
helm_content_decode
0 commit comments