Closed vukor closed 7 months ago
Same for kube2iam chart
This is a bug affecting our prometheus-operator deployments.
If I understood correctly, your Helm app wants to set the app.kubernetes.io/instance
label and later use it for resource selectors. ArgoCD uses app.kubernetes.io/instance
by default to indicate which ArgoCD application a resource that was deployed by it belongs to, i.e. indicates managed state.
You can change the name of the label from the default app.kubernetes.io/instance
by setting the application.instanceLabelKey
in argocd-cm
to the name of a new label to use for it (refer https://argoproj.github.io/argo-cd/operator-manual/argocd-cm.yaml for more details). This will affect all managed applications and might trigger a re-sync of all of your applications, with unintended side-effects, so I'd suggest to test this change in a staging environment before. Maybe the less intrusive way would be a way to modify the name of the label your Helm app uses.
I was able to workaround this is issue by enforcing that either the releaseName and appName are the same.
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app-name
spec:
source:
helm:
releaseName: my-app-name
From my reading this would work the same if releaseName
was unspecified.
Jann's comment is the correct solution, here.
Describe the bug
After argo "cert-manager-elasticsearch" application was deployed the "app.kubernetes.io/instance" label in service/serviceMonitor resources is equals "cert-manager-elasticsearch" not source.helm.releaseName
To Reproduce
create "cert-manager-elasticsearch" app manifest
create files in cert-manager path
--- file requirements.yaml --- dependencies:
--- file values.yaml --- cert-manager:
rbac: create: true
webhook: enabled: false
cainjector: enabled: false
extraArgs:
--dns01-self-check-nameservers=8.8.8.8:53,1.1.1.1:53
prometheus: enabled: true servicemonitor: enabled: true labels: release: cert-manager
Expected behavior
After deploying app I got next resources:
As you see the serviceMonitor resource have different "app.kubernetes.io/instance: cert-manager" string in spec.selector.matchLabels and Prometheus can't detect cert-manager's metrics. I believe, same issue affected not only in cert-manager chart.
Version