Skip to content
This repository was archived by the owner on Apr 25, 2023. It is now read-only.

Commit c4616b6

Browse files
authored
Merge pull request #1272 from mesosphere/jimmi/helm3-tweaks
Helm chart tidy up
2 parents 79cb7e2 + dc446a6 commit c4616b6

File tree

6 files changed

+38
-32
lines changed

6 files changed

+38
-32
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,4 +166,4 @@ controller-gen:
166166
command -v controller-gen &> /dev/null || (cd tools && go install sigs.k8s.io/controller-tools/cmd/controller-gen)
167167

168168
deploy.kind:
169-
DOCKER_PUSH= KIND_LOAD_IMAGE=y ./scripts/deploy-kubefed.sh $(IMAGE_NAME)
169+
DOCKER_PUSH=n KIND_LOAD_IMAGE=y FORCE_REDEPLOY=y ./scripts/deploy-kubefed.sh $(IMAGE_NAME)

charts/kubefed/Chart.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,8 @@ apiVersion: v2
22
description: KubeFed helm chart
33
name: kubefed
44
version: 0.0.3
5+
dependencies:
6+
- name: controllermanager
7+
version: 0.0.3
8+
repository: "https://localhost/" # Required but unused.
9+
condition: controllermanager.enabled

charts/kubefed/charts/controllermanager/templates/deployments.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ spec:
1515
metadata:
1616
labels:
1717
kubefed-control-plane: controller-manager
18+
{{- if .Values.controller.forceRedeployment }}
19+
annotations:
20+
rollme: {{ randAlphaNum 5 | quote }}
21+
{{- end }}
1822
spec:
1923
securityContext:
2024
runAsUser: 1001
@@ -65,6 +69,10 @@ spec:
6569
metadata:
6670
labels:
6771
kubefed-admission-webhook: "true"
72+
{{- if .Values.webhook.forceRedeployment }}
73+
annotations:
74+
rollme: {{ randAlphaNum 5 | quote }}
75+
{{- end }}
6876
spec:
6977
securityContext:
7078
runAsUser: 1001

charts/kubefed/requirements.yaml

Lines changed: 0 additions & 4 deletions
This file was deleted.

charts/kubefed/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ controllermanager:
3333
tag: canary
3434
imagePullPolicy: IfNotPresent
3535
logLevel: 2
36+
forceRedeployment: false
3637
env: {}
3738
resources:
3839
limits:
@@ -47,6 +48,7 @@ controllermanager:
4748
tag: canary
4849
imagePullPolicy: IfNotPresent
4950
logLevel: 8
51+
forceRedeployment: false
5052
env: {}
5153
resources:
5254
limits:

scripts/deploy-kubefed.sh

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ function deploy-with-helm() {
4545

4646
local cmd
4747
if [[ "${NAMESPACED}" ]]; then
48-
cmd="$(helm-deploy-cmd kubefed-${NS} ${NS} ${repository} ${image} ${tag}) --create-namespace"
48+
cmd="$(helm-deploy-cmd kubefed-${NS} ${NS} ${repository} ${image} ${tag})"
4949
cmd="${cmd} --set global.scope=Namespaced"
5050
else
51-
cmd="$(helm-deploy-cmd kubefed ${NS} ${repository} ${image} ${tag}) --create-namespace"
51+
cmd="$(helm-deploy-cmd kubefed ${NS} ${repository} ${image} ${tag})"
5252
fi
5353

5454
if [[ "${IMAGE_PULL_POLICY:-}" ]]; then
@@ -68,18 +68,20 @@ function helm-deploy-cmd {
6868
local repo="${3}"
6969
local image="${4}"
7070
local tag="${5}"
71-
local commonFlags="--namespace ${ns} \
72-
--set controllermanager.controller.repository=${repo} \
73-
--set controllermanager.controller.image=${image} \
74-
--set controllermanager.controller.tag=${tag} \
75-
--set controllermanager.webhook.repository=${repo} \
76-
--set controllermanager.webhook.image=${image} \
77-
--set controllermanager.webhook.tag=${tag}"
78-
if [ -z "$(helm list ${name} --deployed -q)" ]; then
79-
echo "helm install ${name} charts/kubefed ${commonFlags} --create-namespace"
80-
else
81-
echo "helm upgrade ${name} charts/kubefed --recreate-pods ${commonFlags}"
71+
if [[ "${FORCE_REDEPLOY:-}" == "y" ]]; then
72+
local force_redeploy_values="--set controllermanager.controller.forceRedeployment=true --set controllermanager.webhook.forceRedeployment=true"
8273
fi
74+
echo "helm upgrade -i ${name} charts/kubefed \
75+
--namespace ${ns} \
76+
--set controllermanager.controller.repository=${repo} \
77+
--set controllermanager.controller.image=${image} \
78+
--set controllermanager.controller.tag=${tag} \
79+
--set controllermanager.webhook.repository=${repo} \
80+
--set controllermanager.webhook.image=${image} \
81+
--set controllermanager.webhook.tag=${tag} \
82+
${force_redeploy_values:-} \
83+
--create-namespace \
84+
--wait"
8385
}
8486

8587
function kubefed-admission-webhook-ready() {
@@ -112,7 +114,7 @@ IMAGE_NAME="${1:-}"
112114
NAMESPACED="${NAMESPACED:-}"
113115

114116
LATEST_IMAGE_NAME=quay.io/kubernetes-multicluster/kubefed:latest
115-
if [[ "${IMAGE_NAME}" == "$LATEST_IMAGE_NAME" ]]; then
117+
if [[ "${IMAGE_NAME}" == "${LATEST_IMAGE_NAME}" ]]; then
116118
USE_LATEST=y
117119
else
118120
USE_LATEST=
@@ -147,20 +149,16 @@ JOIN_CLUSTERS="${*-}"
147149
check-command-installed kubectl
148150
check-command-installed helm
149151

150-
# Use DOCKER_PUSH= ./scripts/deploy-kubefed.sh <image> to skip docker
151-
# push on container image when not using latest image.
152-
DOCKER_PUSH="${DOCKER_PUSH-y}"
153-
DOCKER_PUSH_CMD="docker push ${IMAGE_NAME}"
154-
if [[ ! "${DOCKER_PUSH}" ]]; then
155-
DOCKER_PUSH_CMD=
156-
fi
157-
158152
# Build KubeFed binaries and image
159-
if [[ ! "${USE_LATEST}" ]]; then
153+
if [[ "${USE_LATEST:-}" != "y" ]]; then
160154
cd "$(dirname "$0")/.."
161155
make container IMAGE_NAME=${IMAGE_NAME}
162156
cd -
163-
${DOCKER_PUSH_CMD}
157+
# Use DOCKER_PUSH=n ./scripts/deploy-kubefed.sh <image> to skip docker
158+
# push on container image when not using latest image.
159+
if [[ "${DOCKER_PUSH:-y}" == "y" ]]; then
160+
docker push ${IMAGE_NAME}
161+
fi
164162
fi
165163

166164
# Use KIND_LOAD_IMAGE=y DOCKER_PUSH= ./scripts/deploy-kubefed.sh <image> to load
@@ -176,9 +174,6 @@ cd -
176174
# Deploy KubeFed resources
177175
deploy-with-helm
178176

179-
# Wait for admission webhook server to be ready
180-
util::wait-for-condition "kubefed admission webhook to be ready" "kubefed-admission-webhook-ready ${NS}" 120
181-
182177
# Join the host cluster
183178
CONTEXT="$(kubectl config current-context)"
184179
./bin/kubefedctl join "${CONTEXT}" --host-cluster-context "${CONTEXT}" --v=2 ${KF_NS_ARGS} --error-on-existing=false

0 commit comments

Comments
 (0)