Open pixelsoccupied opened 2 weeks ago
Reference
apiVersion: v1 kind: Namespace metadata: name: openshift-storage annotations: workload.openshift.io/allowed: management labels: openshift.io/cluster-monitoring: "true"
Live cluster input
apiVersion: v1 kind: Namespace metadata: annotations: openshift.io/sa.scc.mcs: s0:c29,c14 openshift.io/sa.scc.supplemental-groups: 1000840000/10000 openshift.io/sa.scc.uid-range: 1000840000/10000 reclaimspace.csiaddons.openshift.io/schedule: '@weekly' creationTimestamp: "2024-06-07T17:40:07Z" labels: kubernetes.io/metadata.name: openshift-storage olm.operatorgroup.uid/ffcf3f2d-3e37-4772-97bc-983cdfce128b: "" pod-security.kubernetes.io/audit: privileged pod-security.kubernetes.io/audit-version: v1.24 pod-security.kubernetes.io/warn: privileged pod-security.kubernetes.io/warn-version: v1.24 security.openshift.io/scc.podSecurityLabelSync: "true" name: openshift-storage resourceVersion: "13323419" uid: 507a5a4e-4fca-4dc3-b246-36359cbe07bf spec: finalizers: - kubernetes status: phase: Active
Currently would output
@@ -2,7 +2,19 @@ kind: Namespace metadata: annotations: - workload.openshift.io/allowed: management + openshift.io/sa.scc.mcs: s0:c29,c14 + openshift.io/sa.scc.supplemental-groups: 1000840000/10000 + openshift.io/sa.scc.uid-range: 1000840000/10000 + reclaimspace.csiaddons.openshift.io/schedule: '@weekly' labels: - openshift.io/cluster-monitoring: "true" + kubernetes.io/metadata.name: openshift-storage + olm.operatorgroup.uid/ffcf3f2d-3e37-4772-97bc-983cdfce128b: "" + pod-security.kubernetes.io/audit: privileged + pod-security.kubernetes.io/audit-version: v1.24 + pod-security.kubernetes.io/warn: privileged + pod-security.kubernetes.io/warn-version: v1.24 + security.openshift.io/scc.podSecurityLabelSync: "true" name: openshift-storage +spec: + finalizers: + - kubernetes
But the reference only cares about very specific set of info that needs to be verified (in this case it's 1 annotation and 1 label)
I expect that the diff would be like this
@@ -2,7 +2,19 @@ kind: Namespace metadata: annotations: - workload.openshift.io/allowed: management openshift.io/sa.scc.mcs: s0:c29,c14 openshift.io/sa.scc.supplemental-groups: 1000840000/10000 openshift.io/sa.scc.uid-range: 1000840000/10000 reclaimspace.csiaddons.openshift.io/schedule: '@weekly' labels: - openshift.io/cluster-monitoring: "true" kubernetes.io/metadata.name: openshift-storage olm.operatorgroup.uid/ffcf3f2d-3e37-4772-97bc-983cdfce128b: "" pod-security.kubernetes.io/audit: privileged pod-security.kubernetes.io/audit-version: v1.24 pod-security.kubernetes.io/warn: privileged pod-security.kubernetes.io/warn-version: v1.24 security.openshift.io/scc.podSecurityLabelSync: "true" name: openshift-storage spec: finalizers: - kubernetes
https://github.com/evanphx/json-patch
/kind feature
Another option is to do something like Argo CD diff which normalize the object.
Reference
Live cluster input
Currently would output
But the reference only cares about very specific set of info that needs to be verified (in this case it's 1 annotation and 1 label)
I expect that the diff would be like this