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

✨ feat: (helm/v1alpha1): Allow extra pod labels to be configured #4373

Merged
merged 1 commit into from
Nov 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,11 @@ spec:
labels:
{{ "{{- include \"chart.labels\" . | nindent 8 }}" }}
control-plane: controller-manager
{{ "{{- if and .Values.controllerManager.pod .Values.controllerManager.pod.labels }}" }}
{{ "{{- range $key, $value := .Values.controllerManager.pod.labels }}" }}
{{ "{{ $key }}" }}: {{ "{{ $value }}" }}
{{ "{{- end }}" }}
{{ "{{- end }}" }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See:

# Labels to add to all resources and selectors.
#labels:
#- includeSelectors: true
# pairs:
# someName: someValue

I think we need to replicate the behaviour
We need to check this file
and ensure that we do in the chart the same what we would to do with kustomize

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the use-case is a bit different.
This PR is an attempt to have something similar to:

# This patch adds an Azure Workload Identity required label to the pod
- op: add
  path: /spec/template/metadata/labels
  value:
    azure.workload.identity/use: "true"

Since you mentioned that file however, I did notice what is likely an unintended behavior while testing kubebuilder with kustomize. If you run:

cd /tmp && \
mkdir kbtestdir && \
cd kbtestdir && \
git init && \
kubebuilder init --domain tutorial.kubebuilder.io --repo tutorial.kubebuilder.io/project && \
make build-installer && \
git add . && \
kubebuilder create api --group batch --version v1 --kind CronJob --controller --resource  && \
git add . && \
make build-installer

and then check the changes, you will notice that the ClusterRole in the config/rbac/role.yaml file had it's labels removed. The generated CRD in the config/crd/bases/ is also generated without labels. For this use case I think it makes sense to use kustomize to make sure even the generated resources get the labels added.

Copy link
Member

@camilamacedo86 camilamacedo86 Nov 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But above the option to add labels is commented. (

# Labels to add to all resources and selectors.
#labels:
#- includeSelectors: true
# pairs:
# someName: someValue
)

I think you should not do the patch.
You should use the option in the customization, right?
So, it would not add new labels to the result of build-installer.
I am not sure if I follow, sorry.

But if you see that is a bug/or you would expected another behaviour
Can you please open an issue with the steps, what you have seen and what you expected?
So, we can fix that as well.

spec:
containers:
- name: manager
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ spec:
labels:
{{- include "chart.labels" . | nindent 8 }}
control-plane: controller-manager
{{- if and .Values.controllerManager.pod .Values.controllerManager.pod.labels }}
{{- range $key, $value := .Values.controllerManager.pod.labels }}
{{ $key }}: {{ $value }}
{{- end }}
{{- end }}
spec:
containers:
- name: manager
Expand Down
Loading