Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helm: the namespace was missing in the configmap, deployment, and serviceaccount templates #526

Merged
merged 2 commits into from
Mar 27, 2024

Conversation

maelvls
Copy link
Member

@maelvls maelvls commented Mar 26, 2024

Source: https://venafi.atlassian.net/browse/VC-32006

When installing with helm install, the namespace doesn't need to be present on the templates. Helm automatically installs the resources that don't have a specific namespace to the namespace specified in --namespace.

But when using helm template, the resulting templated manifests don't contain a namespace, even though --namespace was used. This is an old issue of Helm (helm/helm#3553). And since a lot of people rely on helm template and then feed that into ArgoCD, it makes to add the namespace field to all namespaced resources.

Thus, this PR adds the namespace in the configmap, deployment, and serviceaccount templates.

Manual test for the chart venafi-kubernetes-agent:

# First, on master:
git checkout master
helm package ./deploy/charts/venafi-kubernetes-agent --version 0.0.0-master
# Second, on the PR:
gh pr checkout 526
helm package ./deploy/charts/venafi-kubernetes-agent --version 0.0.0-pr
diff -u \
  <(helm template venafi-kubernetes-agent-0.0.0-master.tgz -n venafi | grep -v "helm.sh/chart" | yq .kind,.metadata) \
  <(helm template venafi-kubernetes-agent-0.0.0-pr.tgz -n venafi | grep -v "helm.sh/chart" | yq .kind,.metadata)

Result:

--- /dev/fd/13	2024-03-26 15:32:10
+++ /dev/fd/15	2024-03-26 15:32:10
@@ -1,5 +1,6 @@
 ServiceAccount
 name: venafi-kubernetes-agent-release-name
+namespace: venafi
 labels:
   app.kubernetes.io/name: venafi-kubernetes-agent
   app.kubernetes.io/instance: release-name
@@ -8,6 +9,7 @@
 ---
 ConfigMap
 name: agent-config
+namespace: venafi
 labels:
   app.kubernetes.io/name: venafi-kubernetes-agent
   app.kubernetes.io/instance: release-name
@@ -168,6 +170,7 @@
 ---
 Deployment
 name: venafi-kubernetes-agent-release-name
+namespace: venafi
 labels:
   app.kubernetes.io/name: venafi-kubernetes-agent
   app.kubernetes.io/instance: release-name

Manual test for the chart jetstack-agent:

# First, on master:
git checkout master
helm package ./deploy/charts/jetstack-agent --version 0.0.0-master
# Second, on the PR:
gh pr checkout 526
helm package ./deploy/charts/jetstack-agent --version 0.0.0-pr
diff -u \
  <(helm template jetstack-agent-0.0.0-master.tgz -n venafi --set config.organisation=foo --set config.cluster=bar | grep -v "helm.sh/chart" | yq .kind,.metadata) \
  <(helm template jetstack-agent-0.0.0-pr.tgz -n venafi --set config.organisation=foo --set config.cluster=bar | grep -v "helm.sh/chart" | yq .kind,.metadata)

Result:

--- /dev/fd/13  2024-03-26 15:36:21
+++ /dev/fd/14  2024-03-26 15:36:21
@@ -1,5 +1,6 @@
 ServiceAccount
 name: jetstack-agent-release-name
+namespace: venafi
 labels:
   app.kubernetes.io/name: jetstack-agent
   app.kubernetes.io/instance: release-name
@@ -8,6 +9,7 @@
 ---
 ConfigMap
 name: agent-config
+namespace: venafi
 labels:
   app.kubernetes.io/name: jetstack-agent
   app.kubernetes.io/instance: release-name
@@ -158,6 +160,7 @@
 ---
 Deployment
 name: jetstack-agent-release-name
+namespace: venafi
 labels:
   app.kubernetes.io/name: jetstack-agent
   app.kubernetes.io/instance: release-name

@maelvls maelvls requested a review from tfadeyi March 26, 2024 16:02
@tfadeyi tfadeyi merged commit 8683d26 into master Mar 27, 2024
8 checks passed
@maelvls maelvls deleted the add-namespace-helm branch March 28, 2024 10:37
@maelvls
Copy link
Member Author

maelvls commented Mar 28, 2024

@tfadeyi What do I need to get that released? Thanks!

@tfadeyi
Copy link
Contributor

tfadeyi commented Mar 28, 2024

What do I need to get that released? Thanks!

We are planning on making a new release today, it will include these changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants