diff --git a/charts/kueue/templates/webhook/manifests.yaml b/charts/kueue/templates/webhook/manifests.yaml index 154991fef9e..a78cb5cc316 100644 --- a/charts/kueue/templates/webhook/manifests.yaml +++ b/charts/kueue/templates/webhook/manifests.yaml @@ -39,10 +39,17 @@ webhooks: path: /mutate-workload-codeflare-dev-v1beta2-appwrapper failurePolicy: Fail name: mappwrapper.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - workload.codeflare.dev @@ -88,8 +95,8 @@ webhooks: failurePolicy: Ignore {{- end }} namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} {{- else }} matchExpressions: - key: kubernetes.io/metadata.name @@ -119,10 +126,17 @@ webhooks: path: /mutate-kubeflow-org-v1-jaxjob failurePolicy: Fail name: mjaxjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -143,10 +157,17 @@ webhooks: path: /mutate-batch-v1-job failurePolicy: Fail name: mjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - batch @@ -167,10 +188,17 @@ webhooks: path: /mutate-jobset-x-k8s-io-v1alpha2-jobset failurePolicy: Fail name: mjobset.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - jobset.x-k8s.io @@ -191,10 +219,17 @@ webhooks: path: /mutate-leaderworkerset-x-k8s-io-v1-leaderworkerset failurePolicy: Fail name: mleaderworkerset.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - leaderworkerset.x-k8s.io @@ -216,10 +251,17 @@ webhooks: path: /mutate-kubeflow-org-v2beta1-mpijob failurePolicy: Fail name: mmpijob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -240,10 +282,17 @@ webhooks: path: /mutate-kubeflow-org-v1-paddlejob failurePolicy: Fail name: mpaddlejob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -269,8 +318,8 @@ webhooks: failurePolicy: Ignore {{- end }} namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} {{- else }} matchExpressions: - key: kubernetes.io/metadata.name @@ -299,10 +348,17 @@ webhooks: path: /mutate-kubeflow-org-v1-pytorchjob failurePolicy: Fail name: mpytorchjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -323,10 +379,17 @@ webhooks: path: /mutate-ray-io-v1-raycluster failurePolicy: Fail name: mraycluster.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - ray.io @@ -347,10 +410,17 @@ webhooks: path: /mutate-ray-io-v1-rayjob failurePolicy: Fail name: mrayjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - ray.io @@ -371,10 +441,17 @@ webhooks: path: /mutate-ray-io-v1-rayservice failurePolicy: Fail name: mrayservice.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - ray.io @@ -415,6 +492,17 @@ webhooks: path: /mutate-sparkoperator-k8s-io-v1beta2-sparkapplication failurePolicy: Fail name: msparkapplication.kb.io + namespaceSelector: + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - sparkoperator.k8s.io @@ -440,8 +528,8 @@ webhooks: failurePolicy: Ignore {{- end }} namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} {{- else }} matchExpressions: - key: kubernetes.io/metadata.name @@ -471,10 +559,17 @@ webhooks: path: /mutate-kubeflow-org-v1-tfjob failurePolicy: Fail name: mtfjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -495,6 +590,17 @@ webhooks: path: /mutate-trainer-kubeflow-org-v1alpha1-trainjob failurePolicy: Fail name: mtrainjob.kb.io + namespaceSelector: + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - trainer.kubeflow.org @@ -535,10 +641,17 @@ webhooks: path: /mutate-kubeflow-org-v1-xgboostjob failurePolicy: Fail name: mxgboostjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -572,10 +685,17 @@ webhooks: path: /validate-workload-codeflare-dev-v1beta2-appwrapper failurePolicy: Fail name: vappwrapper.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - workload.codeflare.dev @@ -641,8 +761,8 @@ webhooks: failurePolicy: Ignore {{- end }} namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} {{- else }} matchExpressions: - key: kubernetes.io/metadata.name @@ -671,10 +791,17 @@ webhooks: path: /validate-kubeflow-org-v1-jaxjob failurePolicy: Fail name: vjaxjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -695,10 +822,17 @@ webhooks: path: /validate-batch-v1-job failurePolicy: Fail name: vjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - batch @@ -719,10 +853,17 @@ webhooks: path: /validate-jobset-x-k8s-io-v1alpha2-jobset failurePolicy: Fail name: vjobset.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - jobset.x-k8s.io @@ -743,10 +884,17 @@ webhooks: path: /validate-leaderworkerset-x-k8s-io-v1-leaderworkerset failurePolicy: Fail name: vleaderworkerset.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - leaderworkerset.x-k8s.io @@ -767,10 +915,17 @@ webhooks: path: /validate-kubeflow-org-v2beta1-mpijob failurePolicy: Fail name: vmpijob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -791,10 +946,17 @@ webhooks: path: /validate-kubeflow-org-v1-paddlejob failurePolicy: Fail name: vpaddlejob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -820,8 +982,8 @@ webhooks: failurePolicy: Ignore {{- end }} namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} {{- else }} matchExpressions: - key: kubernetes.io/metadata.name @@ -850,10 +1012,17 @@ webhooks: path: /validate-kubeflow-org-v1-pytorchjob failurePolicy: Fail name: vpytorchjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -874,10 +1043,17 @@ webhooks: path: /validate-ray-io-v1-raycluster failurePolicy: Fail name: vraycluster.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - ray.io @@ -898,10 +1074,17 @@ webhooks: path: /validate-ray-io-v1-rayjob failurePolicy: Fail name: vrayjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - ray.io @@ -922,10 +1105,17 @@ webhooks: path: /validate-ray-io-v1-rayservice failurePolicy: Fail name: vrayservice.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - ray.io @@ -966,6 +1156,17 @@ webhooks: path: /validate-sparkoperator-k8s-io-v1beta2-sparkapplication failurePolicy: Fail name: vsparkapplication.kb.io + namespaceSelector: + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - sparkoperator.k8s.io @@ -991,8 +1192,8 @@ webhooks: failurePolicy: Ignore {{- end }} namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} {{- else }} matchExpressions: - key: kubernetes.io/metadata.name @@ -1021,10 +1222,17 @@ webhooks: path: /validate-kubeflow-org-v1-tfjob failurePolicy: Fail name: vtfjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org @@ -1045,6 +1253,17 @@ webhooks: path: /validate-trainer-kubeflow-org-v1alpha1-trainjob failurePolicy: Fail name: vtrainjob.kb.io + namespaceSelector: + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - trainer.kubeflow.org @@ -1086,10 +1305,17 @@ webhooks: path: /validate-kubeflow-org-v1-xgboostjob failurePolicy: Fail name: vxgboostjob.kb.io - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} + {{- else }} + matchExpressions: + - key: kubernetes.io/metadata.name + operator: NotIn + values: + - kube-system + - '{{ .Release.Namespace }}' + {{- end }} rules: - apiGroups: - kubeflow.org diff --git a/config/components/webhook/kustomization.yaml b/config/components/webhook/kustomization.yaml index 8f657649e78..b5a3e2d0929 100644 --- a/config/components/webhook/kustomization.yaml +++ b/config/components/webhook/kustomization.yaml @@ -6,36 +6,6 @@ configurations: - kustomizeconfig.yaml patches: -- patch: |- - apiVersion: admissionregistration.k8s.io/v1 - kind: MutatingWebhookConfiguration - metadata: - name: mutating-webhook-configuration - webhooks: - - name: mpod.kb.io - namespaceSelector: - matchExpressions: - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - kube-system - - kueue-system - - name: mdeployment.kb.io - namespaceSelector: - matchExpressions: - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - kube-system - - kueue-system - - name: mstatefulset.kb.io - namespaceSelector: - matchExpressions: - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - kube-system - - kueue-system - patch: |- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration @@ -50,19 +20,58 @@ patches: values: - kube-system - kueue-system - - name: vdeployment.kb.io - namespaceSelector: - matchExpressions: - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - kube-system - - kueue-system - - name: vstatefulset.kb.io - namespaceSelector: - matchExpressions: - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - kube-system - - kueue-system + +replacements: +- source: + kind: ValidatingWebhookConfiguration + name: validating-webhook-configuration + fieldPath: webhooks.[name=vpod.kb.io].namespaceSelector + targets: + - select: + kind: MutatingWebhookConfiguration + name: mutating-webhook-configuration + fieldPaths: + - webhooks.[name=mappwrapper.kb.io].namespaceSelector + - webhooks.[name=mdeployment.kb.io].namespaceSelector + - webhooks.[name=mjaxjob.kb.io].namespaceSelector + - webhooks.[name=mjob.kb.io].namespaceSelector + - webhooks.[name=mjobset.kb.io].namespaceSelector + - webhooks.[name=mleaderworkerset.kb.io].namespaceSelector + - webhooks.[name=mmpijob.kb.io].namespaceSelector + - webhooks.[name=mpaddlejob.kb.io].namespaceSelector + - webhooks.[name=mpod.kb.io].namespaceSelector + - webhooks.[name=mpytorchjob.kb.io].namespaceSelector + - webhooks.[name=mraycluster.kb.io].namespaceSelector + - webhooks.[name=mrayjob.kb.io].namespaceSelector + - webhooks.[name=mrayservice.kb.io].namespaceSelector + - webhooks.[name=msparkapplication.kb.io].namespaceSelector + - webhooks.[name=mstatefulset.kb.io].namespaceSelector + - webhooks.[name=mtfjob.kb.io].namespaceSelector + - webhooks.[name=mtrainjob.kb.io].namespaceSelector + - webhooks.[name=mxgboostjob.kb.io].namespaceSelector + options: + create: true + - select: + kind: ValidatingWebhookConfiguration + name: validating-webhook-configuration + fieldPaths: + - webhooks.[name=vappwrapper.kb.io].namespaceSelector + - webhooks.[name=vdeployment.kb.io].namespaceSelector + - webhooks.[name=vjaxjob.kb.io].namespaceSelector + - webhooks.[name=vjob.kb.io].namespaceSelector + - webhooks.[name=vjobset.kb.io].namespaceSelector + - webhooks.[name=vleaderworkerset.kb.io].namespaceSelector + - webhooks.[name=vmpijob.kb.io].namespaceSelector + - webhooks.[name=vpaddlejob.kb.io].namespaceSelector + - webhooks.[name=vpod.kb.io].namespaceSelector + - webhooks.[name=vpytorchjob.kb.io].namespaceSelector + - webhooks.[name=vraycluster.kb.io].namespaceSelector + - webhooks.[name=vrayjob.kb.io].namespaceSelector + - webhooks.[name=vrayservice.kb.io].namespaceSelector + - webhooks.[name=vsparkapplication.kb.io].namespaceSelector + - webhooks.[name=vstatefulset.kb.io].namespaceSelector + - webhooks.[name=vtfjob.kb.io].namespaceSelector + - webhooks.[name=vtrainjob.kb.io].namespaceSelector + - webhooks.[name=vxgboostjob.kb.io].namespaceSelector + options: + create: true diff --git a/hack/processing-plan.yaml b/hack/processing-plan.yaml index 94bfeedb890..b7bedefe9bf 100644 --- a/hack/processing-plan.yaml +++ b/hack/processing-plan.yaml @@ -271,14 +271,9 @@ files: - type: INSERT_TEXT key: .webhooks.[].name value: | - {{- if has "pod" $integrationsConfig.frameworks }} - failurePolicy: Fail - {{- else }} - failurePolicy: Ignore - {{- end }} namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} {{- else }} matchExpressions: - key: kubernetes.io/metadata.name @@ -287,19 +282,14 @@ files: - kube-system - '{{ .Release.Namespace }}' {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate--v1-pod"' + onFileCondition: '.kind == "ValidatingWebhookConfiguration"' + onItemCondition: '.webhooks.[].rules[0].apiGroups[0] != "kueue.x-k8s.io"' - type: INSERT_TEXT key: .webhooks.[].name value: | - {{- if has "pod" $integrationsConfig.frameworks }} - failurePolicy: Fail - {{- else }} - failurePolicy: Ignore - {{- end }} namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} + {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} + {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} {{- else }} matchExpressions: - key: kubernetes.io/metadata.name @@ -308,6 +298,26 @@ files: - kube-system - '{{ .Release.Namespace }}' {{- end }} + onFileCondition: '.kind == "MutatingWebhookConfiguration"' + onItemCondition: '.webhooks.[].rules[0].apiGroups[0] != "kueue.x-k8s.io"' + - type: INSERT_TEXT + key: .webhooks.[].name + value: | + {{- if has "pod" $integrationsConfig.frameworks }} + failurePolicy: Fail + {{- else }} + failurePolicy: Ignore + {{- end }} + onFileCondition: '.kind == "MutatingWebhookConfiguration"' + onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate--v1-pod"' + - type: INSERT_TEXT + key: .webhooks.[].name + value: | + {{- if has "pod" $integrationsConfig.frameworks }} + failurePolicy: Fail + {{- else }} + failurePolicy: Ignore + {{- end }} onFileCondition: '.kind == "ValidatingWebhookConfiguration"' onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate--v1-pod"' - type: INSERT_TEXT @@ -318,17 +328,6 @@ files: {{- else }} failurePolicy: Ignore {{- end }} - namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} - {{- else }} - matchExpressions: - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - kube-system - - '{{ .Release.Namespace }}' - {{- end }} onFileCondition: '.kind == "MutatingWebhookConfiguration"' onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-apps-v1-deployment"' - type: INSERT_TEXT @@ -339,17 +338,6 @@ files: {{- else }} failurePolicy: Ignore {{- end }} - namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} - {{- else }} - matchExpressions: - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - kube-system - - '{{ .Release.Namespace }}' - {{- end }} onFileCondition: '.kind == "ValidatingWebhookConfiguration"' onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-apps-v1-deployment"' - type: INSERT_TEXT @@ -360,17 +348,6 @@ files: {{- else }} failurePolicy: Ignore {{- end }} - namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} - {{- else }} - matchExpressions: - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - kube-system - - '{{ .Release.Namespace }}' - {{- end }} onFileCondition: '.kind == "MutatingWebhookConfiguration"' onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-apps-v1-statefulset"' - type: INSERT_TEXT @@ -381,253 +358,8 @@ files: {{- else }} failurePolicy: Ignore {{- end }} - namespaceSelector: - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") -}} - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 -}} - {{- else }} - matchExpressions: - - key: kubernetes.io/metadata.name - operator: NotIn - values: - - kube-system - - '{{ .Release.Namespace }}' - {{- end }} onFileCondition: '.kind == "ValidatingWebhookConfiguration"' onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-apps-v1-statefulset"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-batch-v1-job"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-jobset-x-k8s-io-v1alpha2-jobset"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-kubeflow-org-v1-jaxjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-kubeflow-org-v1-paddlejob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-kubeflow-org-v1-pytorchjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-kubeflow-org-v1-tfjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-kubeflow-org-v1-xgboostjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-leaderworkerset-x-k8s-io-v1-leaderworkerset"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-kubeflow-org-v2beta1-mpijob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-ray-io-v1-raycluster"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-ray-io-v1-rayjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-workload-codeflare-dev-v1beta2-appwrapper"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-batch-v1-job"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-jobset-x-k8s-io-v1alpha2-jobset"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-kubeflow-org-v1-jaxjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-kubeflow-org-v1-paddlejob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-kubeflow-org-v1-pytorchjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-kubeflow-org-v1-tfjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-kubeflow-org-v1-xgboostjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-leaderworkerset-x-k8s-io-v1-leaderworkerset"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-kubeflow-org-v2beta1-mpijob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-ray-io-v1-raycluster"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-ray-io-v1-rayjob"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "MutatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/mutate-ray-io-v1-rayservice"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-ray-io-v1-rayservice"' - - type: INSERT_TEXT - key: .webhooks.[].name - value: | - {{- if (hasKey $managerConfig "managedJobsNamespaceSelector") }} - namespaceSelector: - {{- toYaml $managerConfig.managedJobsNamespaceSelector | nindent 6 }} - {{- end }} - onFileCondition: '.kind == "ValidatingWebhookConfiguration"' - onItemCondition: '.webhooks.[].clientConfig.service.path == "/validate-workload-codeflare-dev-v1beta2-appwrapper"' - path: ./config/components/kueueviz/*.yaml outputDir: ./charts/kueue/templates/kueueviz removeComments: true diff --git a/hack/tools/yaml-processor/yamlproc/processor_test.go b/hack/tools/yaml-processor/yamlproc/processor_test.go index 48d5ded8009..d58cb1dba05 100644 --- a/hack/tools/yaml-processor/yamlproc/processor_test.go +++ b/hack/tools/yaml-processor/yamlproc/processor_test.go @@ -36,6 +36,7 @@ func TestApplyOperations(t *testing.T) { value string addKeyIfMissing bool onCondition string + onItemCondition string indentation int want string wantErr []string @@ -202,6 +203,37 @@ root: child: plain text name: child1 +`, + }, + "InsertText_onItemConditionMet_With_Multiple_Matching_Keys": { + data: ` +root: + - child: + name: child1 + - child: + name: child2 + - child: + name: child3 +`, + opType: InsertText, + key: ".root.[].child.name", + value: "plain text\nsecond line\nthird line\n", + indentation: 0, + onItemCondition: `.root.[].child.name != "child2"`, + want: ` +root: + - child: + name: child1 + plain text + second line + third line + - child: + name: child2 + - child: + name: child3 + plain text + second line + third line `, }, "InsertText_OnConditionNotMet": { @@ -234,6 +266,7 @@ root: Value: tt.value, AddKeyIfMissing: tt.addKeyIfMissing, OnFileCondition: tt.onCondition, + OnItemCondition: tt.onItemCondition, Indentation: tt.indentation, } fileOps := FileOperations{} diff --git a/hack/tools/yaml-processor/yamlproc/txtinserter.go b/hack/tools/yaml-processor/yamlproc/txtinserter.go index 2fbaadafb26..b206efaf183 100644 --- a/hack/tools/yaml-processor/yamlproc/txtinserter.go +++ b/hack/tools/yaml-processor/yamlproc/txtinserter.go @@ -60,7 +60,6 @@ func (ti *TextInserter) Insert(yamlData []byte, opts InsertOptions) ([]byte, err func (ti *TextInserter) insertBelowKey(yamlData []byte, opts InsertOptions) ([]byte, error) { var buffer bytes.Buffer - var offset int sanitizedYaml := Sanitize(yamlData) keyLines, err := ti.yq.FindKeyLines(sanitizedYaml, opts.Key, opts.OnItemCondition) @@ -73,7 +72,7 @@ func (ti *TextInserter) insertBelowKey(yamlData []byte, opts InsertOptions) ([]b trimmedLine := strings.TrimSpace(line) buffer.WriteString(line + "\n") - if slices.Contains(keyLines, i+offset) { + if slices.Contains(keyLines, i) { before, _, ok := strings.Cut(line, trimmedLine) if !ok { return nil, fmt.Errorf("unable to calculate indentation for %q in line %q (line number: %d)", trimmedLine, line, i) @@ -81,7 +80,6 @@ func (ti *TextInserter) insertBelowKey(yamlData []byte, opts InsertOptions) ([]b baseIndent := before indentedContent := ti.indentContent(opts.Value, baseIndent+strings.Repeat(" ", opts.Indentation)) buffer.WriteString(indentedContent) - offset += len(strings.Split(indentedContent, "\n")) } }