Open
Description
Describe the bug
I have an argocd application that contains a following configmap:
kind: ConfigMap
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: >
{"apiVersion":"v1","data":{},"kind":"ConfigMap","metadata":{"annotations":{},"labels":{"app.kubernetes.io/instance":"kubecost","config.openshift.io/inject-trusted-cabundle":"true"},"name":"ca-inject","namespace":"kubecost"}}
creationTimestamp: '2023-12-16T02:24:01Z'
labels:
app.kubernetes.io/instance: kubecost
config.openshift.io/inject-trusted-cabundle: 'true'
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
'f:data':
'f:ca-bundle.crt': {}
manager: cluster-network-operator/configmap_ca
operation: Apply
time: '2023-12-16T02:24:01Z'
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
'f:metadata':
'f:annotations':
.: {}
'f:kubectl.kubernetes.io/last-applied-configuration': {}
'f:labels':
.: {}
'f:app.kubernetes.io/instance': {}
'f:config.openshift.io/inject-trusted-cabundle': {}
manager: argocd-controller
operation: Update
time: '2023-12-16T02:24:01Z'
name: ca-inject
namespace: kubecost
resourceVersion: '351766'
uid: 0955b2d6-daf1-4544-b392-926fc14b960b
As you can see cluster-network-operator/configmap_ca is managing that data field and inject openshift ca-bundle content there. Since that field is different from desired it is always out of sync. I tried to add a configuration to my ArgoCD CDR instance in these ways, but that configmap still out of sync. Also I've spotted that ArgoCD doesn't save a piece of the configuration:
# input:
resourceIgnoreDifferences:
all:
managedFieldsManagers:
- cluster-network-operator/configmap_ca
- cluster-network-operator
- configmap_ca
# saved
resourceIgnoreDifferences:
all:
managedFieldsManagers:
- cluster-network-operator/configmap_ca
- cluster-network-operator
- configmap_ca
# in configmap
resource.customizations.ignoreDifferences.all: |
jqpathexpressions: []
jsonpointers: []
managedfieldsmanagers:
- cluster-network-operator/configmap_ca
- cluster-network-operator
- configmap_ca
# input
resourceIgnoreDifferences:
resourceIdentifiers:
- group: ''
kind: configmaps
customization:
managedFieldManagers:
- cluster-network-operator/configmap_ca
- cluster-network-operator
- configmap_ca
# saved
resourceIgnoreDifferences:
resourceIdentifiers:
- customization: {}
group: ''
kind: configmaps
# configmap
resource.customizations.ignoreDifferences.configmaps: |
jqpathexpressions: []
jsonpointers: []
managedfieldsmanagers: []
# input
resourceIgnoreDifferences:
resourceIdentifiers:
- group: ''
kind: configmaps
customization:
jsonpointers:
- /data
managedFieldManagers:
- cluster-network-operator/configmap_ca
- cluster-network-operator
- configmap_ca
# saved
resourceIgnoreDifferences:
resourceIdentifiers:
- customization:
jsonPointers:
- /data
group: ''
kind: configmaps
# configmap
resource.customizations.ignoreDifferences.configmaps: |
jqpathexpressions: []
jsonpointers:
- /data
managedfieldsmanagers: []
# input
resourceIgnoreDifferences:
resourceIdentifiers:
- group: ''
kind: configmaps
customization:
jqPathExpressions:
- .data
managedFieldManagers:
- cluster-network-operator/configmap_ca
- cluster-network-operator
- configmap_ca
# saved
resourceIgnoreDifferences:
resourceIdentifiers:
- customization:
jqPathExpressions:
- .data
group: ''
kind: configmaps
# configmap
resource.customizations.ignoreDifferences.configmaps: |
jqpathexpressions:
- .data
jsonpointers: []
managedfieldsmanagers: []
Expected behavior
Configmap is in sync
Metadata
Assignees
Labels
No labels