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

Fix Remove app.kubernetes.io/instance label in crd #556

Merged
merged 1 commit into from
Jan 18, 2024

Conversation

choisungwook
Copy link
Contributor

@choisungwook choisungwook commented Oct 31, 2023

When deploying keda with argocd, changing the releasename keep causes a warning in the argocd application. for example, argocd appplication name is keda-test and releaseName: keda, keep causes a warning

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: keda-test
  namespace: argocd
spec:
  source:
    helm:
      releaseName: keda

keda_warning

Argocd offical document say that
Please note that overriding the Helm release name might cause problems when the chart you are deploying is using the app.kubernetes.io/instance.

And, I use argo rollout helm charts, karpenter helm charts same method. but argocd application has not warning. because these helm charts have no app.kubernetes.io/instance label in crd.

So. I think that remove app.kubernetes.io/instance label in crd. thank you.

Checklist

  • I have verified that my change is according to the deprecations & breaking changes policy
  • Commits are signed with Developer Certificate of Origin (DCO - learn more)
  • README is updated with new configuration values (if applicable) learn more
  • A PR is opened to update KEDA core (repo) (if applicable, ie. when deployment manifests are modified)

@choisungwook choisungwook requested a review from a team as a code owner October 31, 2023 13:44
@JorTurFer
Copy link
Member

I see your point, but the proposed change in the tpl file will affect all the places where keda.labels is used (I'd say that everywhere). I guess that we can create other group of labels for CRD , something like keda.crd-labels, with just the basic labels. We could generate keda.labels appending the extra labels to keda.crd-labels.
WDYT?

@choisungwook
Copy link
Contributor Author

choisungwook commented Nov 2, 2023

you're right. How about define the labels directly in the CRD. For example

{{- if .Values.crds.install }}
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:  
  labels:
    app.kubernetes.io/name: {{ .Values.operator.name }}
    app.kubernetes.io/component: operator
    app.kubernetes.io/managed-by: {{ .Release.Service }} 
    # Remove
    # app.kubernetes.io/instance: {{ .Release.Name }}
    app.kubernetes.io/part-of: {{ .Values.operator.name }}
  

@JorTurFer
Copy link
Member

Currently, we use a tpl helper:

{{/*
Generate basic labels
*/}}
{{- define "keda.labels" }}
helm.sh/chart: {{ include "keda.chart" . }}
app.kubernetes.io/component: operator
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Values.operator.name }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
{{- end }}
{{- if .Values.additionalLabels }}
{{ toYaml .Values.additionalLabels }}
{{- end }}
{{- end }}

that's included on CRDs:

  labels:
    app.kubernetes.io/name: {{ .Values.operator.name }}
    {{- include "keda.labels" . | indent 4 }}

I suggest creating other helper, for example:

{{/*
Generate basic labels
*/}}
{{- define "keda.basic-labels" }}
helm.sh/chart: {{ include "keda.chart" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion }}
{{- end }}
{{- if .Values.additionalLabels }}
{{ toYaml .Values.additionalLabels }}
{{- end }}
{{- end }}

{{/*
Generate labels
*/}}
{{- define "keda.labels" }}
{{ include "basic-labels" . }}
app.kubernetes.io/component: operator
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Values.operator.name }}
{{- end }}

And change the CRD labels:

  labels:
    {{- include "keda.basic-labels" . | indent 4 }}

I've written the code on the fly, so maybe there are errors, but I hope that the idea is more clear

Signed-off-by: choisungwook <kgg1959@naver.com>
@choisungwook choisungwook reopened this Nov 2, 2023
@choisungwook choisungwook reopened this Nov 3, 2023
@choisungwook
Copy link
Contributor Author

@JorTurFer Could you review code? and The workflow "WhiteSource Security Check" was stuck.

After some time, I realized that the issue I PR'd was an ArgoCD issue. So I think it's okay to close the PR.

However, I think it needs to be refactored to use tpl for CRD .metadata.labels. Other open source helm charts don't use tpl for CRD .metadata.labels. I don't know much about CRDs yet, so I will study more and post a PR later if I can.

Copy link
Member

@JorTurFer JorTurFer left a comment

Choose a reason for hiding this comment

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

this LGTM. WDYT @tomkerkhove ?

@zroubalik zroubalik mentioned this pull request Jan 18, 2024
25 tasks
@JorTurFer JorTurFer merged commit afd0c28 into kedacore:main Jan 18, 2024
69 of 70 checks passed
JorTurFer pushed a commit to guicholeo/keda that referenced this pull request Jan 18, 2024
Signed-off-by: choisungwook <kgg1959@naver.com>
Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
JorTurFer added a commit that referenced this pull request Jan 30, 2024
…uing KEDA TLS certificates (#530)

* feat(keda): ✨ Allow providing own cert-manager issuer in TLS certificate

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* docs(keda): 📝 Generate Helm docs

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* fix(keda): 🐛 Inject CA from cert-manager Certificate when providing own Issuer

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* refactor(keda): ♻️ Refactor values format

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* revert(keda): ⏪ Revert unnecessary auto-formatting

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* chore: Improve the CI on PRs to be more efficient (#540)

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
Signed-off-by: Jorge Turrado <jorge.turrado@scrm.lidl>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* fix(http-add-on): Refactor the chart for next version (#523)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* feat(add-on): Supporting streamInterval configuration (#541)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* chore(add-on): Ship Release 0.6.0 (#543)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* chore: update versions in README.md (#546)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* feat: update crd to allow vault secret to handle write operation (#548)

Signed-off-by: Loïs Postula <lois@postu.la>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Fix the svc name of webhook to avoid breaking istio (#551)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Show only logs with a severity level of ERROR or higher in the stderr (#506)

Signed-off-by: Adarsh-verma-14 <t_adarsh.verma@india.nec.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Support profiling for keda components (#549)

Signed-off-by: yuval weber <yuval199985@gmail.com>
Signed-off-by: unknown <yuval199985@gmail.com>
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Fix TriggerAuthentication - added configuration for validation webhook (#553)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* fix: Declare missing port in KEDA operator (#552)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Allow image registry override for all keda components (#557)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* docs: Clarify that contributors do not have to ship Helm chart (#573)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* add  disable-compression arg for both operator and metrics-server (#554)

Signed-off-by: Adarsh-verma-14 <t_adarsh.verma@india.nec.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* feat: Introduce CloudEventSources CRD and adding ClusterName parameter (#572)

* Add CloudEventSources Crd and ClustetName Parameter

Signed-off-by: SpiritZhou <iammrzhouzhenghan@gmail.com>

* Update

Signed-off-by: SpiritZhou <iammrzhouzhenghan@gmail.com>

* Update

Signed-off-by: SpiritZhou <iammrzhouzhenghan@gmail.com>

* Update keda/values.yaml

Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Signed-off-by: SpiritZhou <iammrzhouzhenghan@gmail.com>

* Fix

Signed-off-by: SpiritZhou <iammrzhouzhenghan@gmail.com>

* Update

Signed-off-by: SpiritZhou <iammrzhouzhenghan@gmail.com>

* Revert unnecessary update

Signed-off-by: SpiritZhou <iammrzhouzhenghan@gmail.com>

---------

Signed-off-by: SpiritZhou <iammrzhouzhenghan@gmail.com>
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* store 2.12.1 package at `main` (#577)

Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* fix: restore http-add-on chart 0.6.0 indexing (#579)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* fix(add-on): Use 'main' tag for KEDA installation during CI (#582)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* set securityContext for http-add-on chart (#561)

Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Fix http-add-on operator resources (#567)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Fix http-add-on verbosity configuration (#568)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* chore: Adjust RBAC with code (#585)

* chore: Adjust RBAC with code

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

* fix typo

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>

---------

Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* fix: Don't recreate CA with 8 months until it expires (#586)

Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* feat(ClusterRole): Add RBAC rule to allow access to `LimitRange` (#588)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* remove not required insecureSkipTLSVerify (#564)

Signed-off-by: Frank Kloeker <f.kloeker@telekom.de>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Update templates/webhooks deployment (#590)

Align deployment for extraVolumes and extraVolumesMount for fix problem Error: YAML parse error on keda/templates/webhooks/deployment.yaml: error converting YAML to JSON: yaml: line 96: did not find expected key

Signed-off-by: ferndem <39851927+ferndem@users.noreply.github.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Fix Prometheus metrics handling for the operator. (#555)

The current state of the Helm chart is slightly confusing, because:
- There's no easy way to really disable prometheus metrics --
  `--enable-prometheus-metrics` defaults to true anthe current code
  either emits `--enable-prometheus-metrics=true` or nothing at all
  (making it `true` once again).
- The `http` container port is actually a `metrics` port (by convention
  from .e.g. webhook), but is present regardless of whether Prometheus
  metrics are enabled or not. To make it less confusing, this PR
  proposes renaming it.

Signed-off-by: Milan Plzik <milan.plzik@grafana.com>
Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>
Co-authored-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Fix Remove app.kubernetes.io/instance label in crd (#556)

Signed-off-by: choisungwook <kgg1959@naver.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Support crd-specific annotations (#584)

* support crd-specific annotations

Signed-off-by: Adam Walford <adamw@speechmatics.com>

* update readme

Signed-off-by: Adam Walford <adamw@speechmatics.com>

* update docs using helm-docs

Signed-off-by: Adam Walford <adamw@speechmatics.com>

---------

Signed-off-by: Adam Walford <adamw@speechmatics.com>
Co-authored-by: Adam Walford <adamw@speechmatics.com>
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Add ciliumnetworkpolicies (#558)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Add tlsConfig for ServiceMonitor (#591)

Co-authored-by: guicholeo <leo.sanchez@resideo.com>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* Release 2.13.0 (#593)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* fix: Ship v2.13.1 with missing RoleBinding (#595)

Signed-off-by: Jorge Turrado <jorge.turrado@scrm.lidl>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* chore(add-on): Apply HTTP Add-on changes on Helm chart (#598)

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* chore(add-on): Release v0.7.0 (#599)

Signed-off-by: Jorge Turrado <jorge.turrado@scrm.lidl>
Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

* refactor: Unify cert-manager annotations

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>

---------

Signed-off-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>
Signed-off-by: Jorge Turrado <jorge_turrado@hotmail.es>
Signed-off-by: Jorge Turrado <jorge.turrado@scrm.lidl>
Signed-off-by: Loïs Postula <lois@postu.la>
Signed-off-by: Adarsh-verma-14 <t_adarsh.verma@india.nec.com>
Signed-off-by: yuval weber <yuval199985@gmail.com>
Signed-off-by: unknown <yuval199985@gmail.com>
Signed-off-by: SpiritZhou <iammrzhouzhenghan@gmail.com>
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
Signed-off-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>
Signed-off-by: Frank Kloeker <f.kloeker@telekom.de>
Signed-off-by: ferndem <39851927+ferndem@users.noreply.github.com>
Signed-off-by: Milan Plzik <milan.plzik@grafana.com>
Signed-off-by: choisungwook <kgg1959@naver.com>
Signed-off-by: Adam Walford <adamw@speechmatics.com>
Co-authored-by: Dmytro Kovalenko <zerodayyy@zerodayyy.xyz>
Co-authored-by: Jorge Turrado Ferrero <Jorge_turrado@hotmail.es>
Co-authored-by: Loïs Postula <lois@postu.la>
Co-authored-by: Roy Gao <137811914+congzhegao@users.noreply.github.com>
Co-authored-by: Adarsh Verma <113962919+Adarsh-verma-14@users.noreply.github.com>
Co-authored-by: yuval weber <yuval199985@gmail.com>
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
Co-authored-by: Radek Fojtik <68660951+radekfojtik@users.noreply.github.com>
Co-authored-by: Quentin Bisson <quentin.bisson@gmail.com>
Co-authored-by: SpiritZhou <iammrzhouzhenghan@gmail.com>
Co-authored-by: Zbynek Roubalik <zroubalik@gmail.com>
Co-authored-by: Frank Kloeker <eumel@arcor.de>
Co-authored-by: Andrew <35912177+aballman@users.noreply.github.com>
Co-authored-by: Bhargav Ravuri <bhargav.ravuri@infracloud.io>
Co-authored-by: ferndem <39851927+ferndem@users.noreply.github.com>
Co-authored-by: Milan Plžík <4592597+mplzik@users.noreply.github.com>
Co-authored-by: choisungwook <sungwook0724@lguplus.co.kr>
Co-authored-by: Adam Walford <34867732+awalford16@users.noreply.github.com>
Co-authored-by: Adam Walford <adamw@speechmatics.com>
Co-authored-by: guicholeo <leo.sanchez@resideo.com>
Co-authored-by: Jan Wozniak <wozniak.jan@gmail.com>
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.

2 participants