Open bmgeek opened 2 months ago
To make it easier to test this bug without using ArgoCD I have come up with this method:
How to reproduce: Install an older alertmanager.
git clone https://github.com/prometheus-community/helm-charts.git --branch alertmanager-1.12.0
cd helm-charts
helm upgrade --install myalertmanager helm-charts/charts/alertmanager/
Compare the alertmanager StatefulSet volumeClaimTemplates:
with helm template
and the installed resource
helm template charts/alertmanager/ | grep volumeClaimTemplates: -A 10
kubectl get statefulset -o yaml | grep volumeClaimTemplates: -A 10
Expected:
The volumeClaimTemplates:
when comparing helm template and looking at the installed StatefulSet should look the same with respect to most attributes, but specifically kind
and apiVersion
.
Actual:
The helm template
output is missing the kind and apiVersion
under the volumeClaimTemplates:
[vagrant@schedin-k3d helm-charts]$ helm template charts/alertmanager/ | grep volumeClaimTemplates: -A 10
volumeClaimTemplates:
- metadata:
name: storage
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Mi
[vagrant@schedin-k3d helm-charts]$ kubectl get statefulset -o yaml | grep volumeClaimTemplates: -A 10
volumeClaimTemplates:
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
name: storage
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
Fix: I have submitted a fix for this: #4865
A workaround helps you can fix this by add ignoreDifferences
in argocd Application
(mentioned on their docs)
spec:
...
ignoreDifferences:
- groups: apps
kind: StatefulSet
namespace: <destination.namespace>
name: <release-name>-alertmanager
jsonPointers:
- /spec/volumeClaimTemplates/0/apiVersion
- /spec/volumeClaimTemplates/0/kind
...
Describe the bug a clear and concise description of what the bug is.
K8s is adding automatic some strings in the volumeClaimTemplates after deploy:
StatefulSet in the cluster:
StatefulSet in the helm chart:
What's your helm version?
v3.13.2
What's your kubectl version?
1.28
Which chart?
alertmanager
What's the chart version?
1.12.0
What happened?
No response
What you expected to happen?
No response
How to reproduce it?
No response
Enter the changed values of values.yaml?
No response
Enter the command that you execute and failing/misfunctioning.
i'm using an ArgoCD
Anything else we need to know?
No response