json-argocd 清单中的补丁通配符用法
json-patch wildcard usage in argocd manifest
是否可以替换这个
---
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
我在他们的文档中找不到任何说这是可能的或相反的内容。 i.e.https://argoproj.github.io/argo-cd/user-guide/diffing/
似乎正在使用“json-patch”,但阅读了一些 RFC,我也找不到任何关于通配符的信息。
谢谢!
以防万一其他人遇到这个问题。答案是否定的,json 补丁不允许使用那个表达式。幸运的是,newer 版本的 argocd 允许新的“jqPathExpressions”使用 json 路径(!=补丁):
data:
resource.customizations: |
admissionregistration.k8s.io/MutatingWebhookConfiguration:
ignoreDifferences: |
jqPathExpressions:
- '.webhooks[]?.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/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
我在他们的文档中找不到任何说这是可能的或相反的内容。 i.e.https://argoproj.github.io/argo-cd/user-guide/diffing/ 似乎正在使用“json-patch”,但阅读了一些 RFC,我也找不到任何关于通配符的信息。
谢谢!
以防万一其他人遇到这个问题。答案是否定的,json 补丁不允许使用那个表达式。幸运的是,newer 版本的 argocd 允许新的“jqPathExpressions”使用 json 路径(!=补丁):
data:
resource.customizations: |
admissionregistration.k8s.io/MutatingWebhookConfiguration:
ignoreDifferences: |
jqPathExpressions:
- '.webhooks[]?.clientConfig.caBundle'