Skip to content

Commit 234d5bc

Browse files
committed
Remove helm v2 support
Signed-off-by: Brad Davidson <[email protected]>
1 parent bbf9df2 commit 234d5bc

File tree

2 files changed

+19
-67
lines changed

2 files changed

+19
-67
lines changed

entry

+17-62
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
#!/bin/bash
22

33
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:]')"
95
IFS=, read -r INSTALLED_VERSION STATUS _ <<<${LINE}
106
VALUES=""
117

@@ -19,14 +15,8 @@ helm_update() {
1915
echo "No ${HELM} chart installed; nothing to delete" >> ${TERM_LOG}
2016
exit
2117
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
3020
exit
3121
fi
3222

@@ -37,8 +27,8 @@ helm_update() {
3727
exit
3828
fi
3929

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
4232
echo Previous helm job was interrupted, updating status from ${STATUS} to failed
4333
echo "Resetting ${HELM} release status from '${STATUS}' to 'failed'" >> ${TERM_LOG}
4434
${HELM} set-status ${NAME} failed --namespace ${TARGET_NAMESPACE}
@@ -59,11 +49,7 @@ helm_update() {
5949
# Upgrade only if the chart is already deployed
6050
if [[ "${STATUS}" == "deployed" ]]; then
6151
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}
6753

6854
echo "Upgrading ${HELM} chart" >> ${TERM_LOG}
6955
echo "Upgrading ${NAME}"
@@ -75,13 +61,8 @@ helm_update() {
7561
# The chart is in a bad state; try uninstalling it first
7662
if [[ "${STATUS}" =~ ^(deleted|failed|null|unknown)$ ]]; then
7763
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
8566
echo Deleted
8667
# Try installing now that we've uninstalled
8768
echo "Installing ${HELM} chart" >> ${TERM_LOG}
@@ -107,22 +88,13 @@ helm_repo_init() {
10788
return
10889
fi
10990

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
11794
fi
11895

11996
if [[ -n "${REPO}" ]]; then
12097
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
12698
if [[ "${AUTH_PASS_CREDENTIALS}" == "true" ]]; then
12799
PASS_CREDENTIALS_ARG="--pass-credentials"
128100
fi
@@ -158,7 +130,7 @@ export TERM_LOG=/dev/termination-log
158130
export SSL_CERT_FILE=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
159131
export SSL_CERT_DIR=/etc/ssl/certs
160132
export HELM_TLS_CA_CERT=${SSL_CERT_FILE}
161-
HELM="helm_v3"
133+
HELM="helm"
162134
NAME_ARG=""
163135
CA_FILE_ARG=""
164136
TIMEOUT_ARG=""
@@ -175,23 +147,10 @@ fi
175147

176148
set +v -x
177149

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
195154
fi
196155

197156
shopt -s nullglob
@@ -211,11 +170,7 @@ if [[ -f "/tmp/ca-file.pem" ]]; then
211170
fi
212171

213172
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}"
219174
fi
220175

221176
helm_content_decode

package/Dockerfile

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
FROM alpine:3.20 as extract
22
RUN apk add -U curl ca-certificates
33
ARG ARCH
4-
RUN curl -sL https://get.helm.sh/helm-v2.17.0-linux-${ARCH}.tar.gz | tar xvzf - --strip-components=1 -C /usr/bin
5-
RUN mv /usr/bin/helm /usr/bin/helm_v2
64
RUN curl -sL https://get.helm.sh/helm-v3.15.3-linux-${ARCH}.tar.gz | tar xvzf - --strip-components=1 -C /usr/bin
7-
RUN mv /usr/bin/helm /usr/bin/helm_v3
85
COPY entry /usr/bin/
96

107
FROM golang:1.22-alpine3.20 as plugins
118
RUN apk add -U curl ca-certificates build-base binutils-gold
129
ARG ARCH
13-
COPY --from=extract /usr/bin/helm_v3 /usr/bin/helm
10+
COPY --from=extract /usr/bin/helm /usr/bin/helm
1411
RUN mkdir -p /go/src/github.com/k3s-io/helm-set-status && \
1512
curl -sL https://github.com/k3s-io/helm-set-status/archive/refs/tags/v0.2.0.tar.gz | tar xvzf - --strip-components=1 -C /go/src/github.com/k3s-io/helm-set-status && \
1613
cd /go/src/github.com/k3s-io/helm-set-status && \
@@ -37,7 +34,7 @@ RUN apk --no-cache upgrade && \
3734
adduser -D -u 1000 -s /bin/bash klipper-helm
3835
WORKDIR /home/klipper-helm
3936
COPY --chown=1000:1000 --from=plugins /root/.local/share/helm/plugins/ /home/klipper-helm/.local/share/helm/plugins/
40-
COPY --from=extract /usr/bin/helm_v2 /usr/bin/helm_v3 /usr/bin/tiller /usr/bin/entry /usr/bin/
37+
COPY --from=extract /usr/bin/helm /usr/bin/entry /usr/bin/
4138
ENTRYPOINT ["entry"]
4239
ENV STABLE_REPO_URL=https://charts.helm.sh/stable/
4340
ENV TIMEOUT=

0 commit comments

Comments
 (0)