6

这个可以换吗

---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: elastic-operator
  labels:
    argocd.application.type: "system"
spec:
  ignoreDifferences:
    - group: admissionregistration.k8s.io
      kind: ValidatingWebhookConfiguration
      jsonPointers:
        - /webhooks/0/clientConfig/caBundle
    - group: admissionregistration.k8s.io
      kind: ValidatingWebhookConfiguration
      jsonPointers:
        - /webhooks/1/clientConfig/caBundle
    - group: admissionregistration.k8s.io
      kind: ValidatingWebhookConfiguration
      jsonPointers:
        - /webhooks/2/clientConfig/caBundle

对于使用“通配符”的东西?以下是我正在寻找的“非工作”示例:

---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: elastic-operator
  labels:
    argocd.application.type: "system"
spec:
  ignoreDifferences:
    - group: admissionregistration.k8s.io
      kind: ValidatingWebhookConfiguration
      jsonPointers:
        - /webhooks/[*]/clientConfig/caBundle

我无法在他们的文档中找到任何说这是可能的或相反的东西。即https://argoproj.github.io/argo-cd/user-guide/diffing/ 似乎正在使用“json-patch”但是阅读了一些RFC,我也找不到任何关于通配符的信息。

谢谢!

4

1 回答 1

2

以防万一其他人面临这种​​情况。答案是否定的,json 补丁不允许使用该表达式。幸运的是,版本的 argocd 允许新的“jqPathExpressions”使用 json 路径(!=patch):

data:
  resource.customizations: |
    admissionregistration.k8s.io/MutatingWebhookConfiguration:
      ignoreDifferences: |
        jqPathExpressions:
        - '.webhooks[]?.clientConfig.caBundle'
于 2021-06-24T14:53:29.823 回答