Использование подстановочных знаков json-patch в манифесте argocd

Можно ли заменить это

---
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

Я не смог найти в их документации ничего, что говорило бы, что это возможно или наоборот. iehttps://argoproj.github.io/argo-cd/user-guide/diffing/ Кажется, что используется "json-patch", но, читая некоторые RFC, я также не смог найти ничего о подстановочных знаках.

Спасибо!

1 ответ

Решение

На всякий случай с этим столкнется кто-то другой. Ответ - нет, патч json не позволяет использовать это выражение. К счастью, [более новые][1] версии argocd позволяют использовать путь json (!= Patch) новым "jqPathExpressions":

      data:
  resource.customizations: |
    admissionregistration.k8s.io/MutatingWebhookConfiguration:
      ignoreDifferences: |
        jqPathExpressions:
        - '.webhooks[]?.clientConfig.caBundle'
Другие вопросы по тегам