sigs.k8s.io/kueue@v0.6.2/charts/kueue/templates/webhook/webhook.yaml (about)

     1  {{- $integrationsConfig := (fromYaml .Values.managerConfig.controllerManagerConfigYaml).integrations }}
     2  apiVersion: admissionregistration.k8s.io/v1
     3  kind: MutatingWebhookConfiguration
     4  metadata:
     5    name: '{{ include "kueue.fullname" . }}-mutating-webhook-configuration'
     6    {{- if .Values.enableCertManager }}
     7    annotations:
     8      cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "kueue.fullname" . }}-serving-cert
     9    {{- end }}
    10    namespace: '{{ .Release.Namespace }}'
    11  webhooks:
    12    - admissionReviewVersions:
    13        - v1
    14      clientConfig:
    15        service:
    16          name: '{{ include "kueue.fullname" . }}-webhook-service'
    17          namespace: '{{ .Release.Namespace }}'
    18          path: /mutate-batch-v1-job
    19      failurePolicy: Fail
    20      name: mjob.kb.io
    21      rules:
    22        - apiGroups:
    23            - batch
    24          apiVersions:
    25            - v1
    26          operations:
    27            - CREATE
    28          resources:
    29            - jobs
    30      sideEffects: None
    31    - admissionReviewVersions:
    32        - v1
    33      clientConfig:
    34        service:
    35          name: '{{ include "kueue.fullname" . }}-webhook-service'
    36          namespace: '{{ .Release.Namespace }}'
    37          path: /mutate-jobset-x-k8s-io-v1alpha2-jobset
    38      failurePolicy: Fail
    39      name: mjobset.kb.io
    40      rules:
    41        - apiGroups:
    42            - jobset.x-k8s.io
    43          apiVersions:
    44            - v1alpha2
    45          operations:
    46            - CREATE
    47          resources:
    48            - jobsets
    49      sideEffects: None
    50    - admissionReviewVersions:
    51        - v1
    52      clientConfig:
    53        service:
    54          name: '{{ include "kueue.fullname" . }}-webhook-service'
    55          namespace: '{{ .Release.Namespace }}'
    56          path: /mutate-kubeflow-org-v1-mxjob
    57      failurePolicy: Fail
    58      name: mmxjob.kb.io
    59      rules:
    60        - apiGroups:
    61            - kubeflow.org
    62          apiVersions:
    63            - v1
    64          operations:
    65            - CREATE
    66          resources:
    67            - mxjobs
    68      sideEffects: None
    69    - admissionReviewVersions:
    70        - v1
    71      clientConfig:
    72        service:
    73          name: '{{ include "kueue.fullname" . }}-webhook-service'
    74          namespace: '{{ .Release.Namespace }}'
    75          path: /mutate-kubeflow-org-v1-paddlejob
    76      failurePolicy: Fail
    77      name: mpaddlejob.kb.io
    78      rules:
    79        - apiGroups:
    80            - kubeflow.org
    81          apiVersions:
    82            - v1
    83          operations:
    84            - CREATE
    85          resources:
    86            - paddlejobs
    87      sideEffects: None
    88    - admissionReviewVersions:
    89        - v1
    90      clientConfig:
    91        service:
    92          name: '{{ include "kueue.fullname" . }}-webhook-service'
    93          namespace: '{{ .Release.Namespace }}'
    94          path: /mutate-kubeflow-org-v1-pytorchjob
    95      failurePolicy: Fail
    96      name: mpytorchjob.kb.io
    97      rules:
    98        - apiGroups:
    99            - kubeflow.org
   100          apiVersions:
   101            - v1
   102          operations:
   103            - CREATE
   104          resources:
   105            - pytorchjobs
   106      sideEffects: None
   107    - admissionReviewVersions:
   108        - v1
   109      clientConfig:
   110        service:
   111          name: '{{ include "kueue.fullname" . }}-webhook-service'
   112          namespace: '{{ .Release.Namespace }}'
   113          path: /mutate-kubeflow-org-v1-tfjob
   114      failurePolicy: Fail
   115      name: mtfjob.kb.io
   116      rules:
   117        - apiGroups:
   118            - kubeflow.org
   119          apiVersions:
   120            - v1
   121          operations:
   122            - CREATE
   123          resources:
   124            - tfjobs
   125      sideEffects: None
   126    - admissionReviewVersions:
   127        - v1
   128      clientConfig:
   129        service:
   130          name: '{{ include "kueue.fullname" . }}-webhook-service'
   131          namespace: '{{ .Release.Namespace }}'
   132          path: /mutate-kubeflow-org-v1-xgboostjob
   133      failurePolicy: Fail
   134      name: mxgboostjob.kb.io
   135      rules:
   136        - apiGroups:
   137            - kubeflow.org
   138          apiVersions:
   139            - v1
   140          operations:
   141            - CREATE
   142          resources:
   143            - xgboostjobs
   144      sideEffects: None
   145    - admissionReviewVersions:
   146        - v1
   147      clientConfig:
   148        service:
   149          name: '{{ include "kueue.fullname" . }}-webhook-service'
   150          namespace: '{{ .Release.Namespace }}'
   151          path: /mutate-kubeflow-org-v2beta1-mpijob
   152      failurePolicy: Fail
   153      name: mmpijob.kb.io
   154      rules:
   155        - apiGroups:
   156            - kubeflow.org
   157          apiVersions:
   158            - v2beta1
   159          operations:
   160            - CREATE
   161          resources:
   162            - mpijobs
   163      sideEffects: None
   164    - admissionReviewVersions:
   165        - v1
   166      clientConfig:
   167        service:
   168          name: '{{ include "kueue.fullname" . }}-webhook-service'
   169          namespace: '{{ .Release.Namespace }}'
   170          path: /mutate--v1-pod
   171      {{- if has "pod" $integrationsConfig.frameworks }}
   172      failurePolicy: Fail
   173      {{- else }}
   174      failurePolicy: Ignore
   175      {{- end }}
   176      name: mpod.kb.io
   177      namespaceSelector:
   178        {{- if and (hasKey $integrationsConfig "podOptions") (hasKey ($integrationsConfig.podOptions) "namespaceSelector") }}
   179          {{- toYaml $integrationsConfig.podOptions.namespaceSelector | nindent 4 -}}
   180        {{- else }}
   181        matchExpressions:
   182          - key: kubernetes.io/metadata.name
   183            operator: NotIn
   184            values:
   185              - kube-system
   186              - '{{ .Release.Namespace }}'
   187        {{- end }}
   188      rules:
   189        - apiGroups:
   190            - ""
   191          apiVersions:
   192            - v1
   193          operations:
   194            - CREATE
   195          resources:
   196            - pods
   197      sideEffects: None
   198    - admissionReviewVersions:
   199        - v1
   200      clientConfig:
   201        service:
   202          name: '{{ include "kueue.fullname" . }}-webhook-service'
   203          namespace: '{{ .Release.Namespace }}'
   204          path: /mutate-ray-io-v1-raycluster
   205      failurePolicy: Fail
   206      name: mraycluster.kb.io
   207      rules:
   208        - apiGroups:
   209            - ray.io
   210          apiVersions:
   211            - v1
   212          operations:
   213            - CREATE
   214          resources:
   215            - rayclusters
   216      sideEffects: None
   217    - admissionReviewVersions:
   218        - v1
   219      clientConfig:
   220        service:
   221          name: '{{ include "kueue.fullname" . }}-webhook-service'
   222          namespace: '{{ .Release.Namespace }}'
   223          path: /mutate-ray-io-v1alpha1-rayjob
   224      failurePolicy: Fail
   225      name: mrayjob.kb.io
   226      rules:
   227        - apiGroups:
   228            - ray.io
   229          apiVersions:
   230            - v1alpha1
   231          operations:
   232            - CREATE
   233          resources:
   234            - rayjobs
   235      sideEffects: None
   236    - admissionReviewVersions:
   237        - v1
   238      clientConfig:
   239        service:
   240          name: '{{ include "kueue.fullname" . }}-webhook-service'
   241          namespace: '{{ .Release.Namespace }}'
   242          path: /mutate-kueue-x-k8s-io-v1beta1-clusterqueue
   243      failurePolicy: Fail
   244      name: mclusterqueue.kb.io
   245      rules:
   246        - apiGroups:
   247            - kueue.x-k8s.io
   248          apiVersions:
   249            - v1beta1
   250          operations:
   251            - CREATE
   252          resources:
   253            - clusterqueues
   254      sideEffects: None
   255    - admissionReviewVersions:
   256        - v1
   257      clientConfig:
   258        service:
   259          name: '{{ include "kueue.fullname" . }}-webhook-service'
   260          namespace: '{{ .Release.Namespace }}'
   261          path: /mutate-kueue-x-k8s-io-v1beta1-resourceflavor
   262      failurePolicy: Fail
   263      name: mresourceflavor.kb.io
   264      rules:
   265        - apiGroups:
   266            - kueue.x-k8s.io
   267          apiVersions:
   268            - v1beta1
   269          operations:
   270            - CREATE
   271          resources:
   272            - resourceflavors
   273      sideEffects: None
   274    - admissionReviewVersions:
   275        - v1
   276      clientConfig:
   277        service:
   278          name: '{{ include "kueue.fullname" . }}-webhook-service'
   279          namespace: '{{ .Release.Namespace }}'
   280          path: /mutate-kueue-x-k8s-io-v1beta1-workload
   281      failurePolicy: Fail
   282      name: mworkload.kb.io
   283      rules:
   284        - apiGroups:
   285            - kueue.x-k8s.io
   286          apiVersions:
   287            - v1beta1
   288          operations:
   289            - CREATE
   290          resources:
   291            - workloads
   292      sideEffects: None
   293  ---
   294  apiVersion: admissionregistration.k8s.io/v1
   295  kind: ValidatingWebhookConfiguration
   296  metadata:
   297    name: '{{ include "kueue.fullname" . }}-validating-webhook-configuration'
   298    {{- if .Values.enableCertManager }}
   299    annotations:
   300      cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "kueue.fullname" . }}-serving-cert
   301    {{- end }}
   302    namespace: '{{ .Release.Namespace }}'
   303  webhooks:
   304    - admissionReviewVersions:
   305        - v1
   306      clientConfig:
   307        service:
   308          name: '{{ include "kueue.fullname" . }}-webhook-service'
   309          namespace: '{{ .Release.Namespace }}'
   310          path: /validate-batch-v1-job
   311      failurePolicy: Fail
   312      name: vjob.kb.io
   313      rules:
   314        - apiGroups:
   315            - batch
   316          apiVersions:
   317            - v1
   318          operations:
   319            - CREATE
   320            - UPDATE
   321          resources:
   322            - jobs
   323      sideEffects: None
   324    - admissionReviewVersions:
   325        - v1
   326      clientConfig:
   327        service:
   328          name: '{{ include "kueue.fullname" . }}-webhook-service'
   329          namespace: '{{ .Release.Namespace }}'
   330          path: /validate-jobset-x-k8s-io-v1alpha2-jobset
   331      failurePolicy: Fail
   332      name: vjobset.kb.io
   333      rules:
   334        - apiGroups:
   335            - jobset.x-k8s.io
   336          apiVersions:
   337            - v1alpha2
   338          operations:
   339            - CREATE
   340            - UPDATE
   341          resources:
   342            - jobsets
   343      sideEffects: None
   344    - admissionReviewVersions:
   345        - v1
   346      clientConfig:
   347        service:
   348          name: '{{ include "kueue.fullname" . }}-webhook-service'
   349          namespace: '{{ .Release.Namespace }}'
   350          path: /validate-kubeflow-org-v1-mxjob
   351      failurePolicy: Fail
   352      name: vmxjob.kb.io
   353      rules:
   354        - apiGroups:
   355            - kubeflow.org
   356          apiVersions:
   357            - v1
   358          operations:
   359            - CREATE
   360            - UPDATE
   361          resources:
   362            - mxjobs
   363      sideEffects: None
   364    - admissionReviewVersions:
   365        - v1
   366      clientConfig:
   367        service:
   368          name: '{{ include "kueue.fullname" . }}-webhook-service'
   369          namespace: '{{ .Release.Namespace }}'
   370          path: /validate-kubeflow-org-v1-paddlejob
   371      failurePolicy: Fail
   372      name: vpaddlejob.kb.io
   373      rules:
   374        - apiGroups:
   375            - kubeflow.org
   376          apiVersions:
   377            - v1
   378          operations:
   379            - CREATE
   380            - UPDATE
   381          resources:
   382            - paddlejobs
   383      sideEffects: None
   384    - admissionReviewVersions:
   385        - v1
   386      clientConfig:
   387        service:
   388          name: '{{ include "kueue.fullname" . }}-webhook-service'
   389          namespace: '{{ .Release.Namespace }}'
   390          path: /validate-kubeflow-org-v1-pytorchjob
   391      failurePolicy: Fail
   392      name: vpytorchjob.kb.io
   393      rules:
   394        - apiGroups:
   395            - kubeflow.org
   396          apiVersions:
   397            - v1
   398          operations:
   399            - CREATE
   400            - UPDATE
   401          resources:
   402            - pytorchjobs
   403      sideEffects: None
   404    - admissionReviewVersions:
   405        - v1
   406      clientConfig:
   407        service:
   408          name: '{{ include "kueue.fullname" . }}-webhook-service'
   409          namespace: '{{ .Release.Namespace }}'
   410          path: /validate-kubeflow-org-v1-tfjob
   411      failurePolicy: Fail
   412      name: vtfjob.kb.io
   413      rules:
   414        - apiGroups:
   415            - kubeflow.org
   416          apiVersions:
   417            - v1
   418          operations:
   419            - CREATE
   420            - UPDATE
   421          resources:
   422            - tfjobs
   423      sideEffects: None
   424    - admissionReviewVersions:
   425        - v1
   426      clientConfig:
   427        service:
   428          name: '{{ include "kueue.fullname" . }}-webhook-service'
   429          namespace: '{{ .Release.Namespace }}'
   430          path: /validate-kubeflow-org-v1-xgboostjob
   431      failurePolicy: Fail
   432      name: vxgboostjob.kb.io
   433      rules:
   434        - apiGroups:
   435            - kubeflow.org
   436          apiVersions:
   437            - v1
   438          operations:
   439            - CREATE
   440            - UPDATE
   441          resources:
   442            - xgboostjobs
   443      sideEffects: None
   444    - admissionReviewVersions:
   445        - v1
   446      clientConfig:
   447        service:
   448          name: '{{ include "kueue.fullname" . }}-webhook-service'
   449          namespace: '{{ .Release.Namespace }}'
   450          path: /validate-kubeflow-org-v2beta1-mpijob
   451      failurePolicy: Fail
   452      name: vmpijob.kb.io
   453      rules:
   454        - apiGroups:
   455            - kubeflow.org
   456          apiVersions:
   457            - v2beta1
   458          operations:
   459            - CREATE
   460            - UPDATE
   461          resources:
   462            - mpijobs
   463      sideEffects: None
   464    - admissionReviewVersions:
   465        - v1
   466      clientConfig:
   467        service:
   468          name: '{{ include "kueue.fullname" . }}-webhook-service'
   469          namespace: '{{ .Release.Namespace }}'
   470          path: /validate--v1-pod
   471      {{- if has "pod" $integrationsConfig.frameworks }}
   472      failurePolicy: Fail
   473      {{- else }}
   474      failurePolicy: Ignore
   475      {{- end }}
   476      name: vpod.kb.io
   477      namespaceSelector:
   478        {{- if and (hasKey $integrationsConfig "podOptions") (hasKey ($integrationsConfig.podOptions) "namespaceSelector") }}
   479          {{- toYaml $integrationsConfig.podOptions.namespaceSelector | nindent 4 -}}
   480        {{- else }}
   481        matchExpressions:
   482          - key: kubernetes.io/metadata.name
   483            operator: NotIn
   484            values:
   485              - kube-system
   486              - '{{ .Release.Namespace }}'
   487        {{- end }}
   488      rules:
   489        - apiGroups:
   490            - ""
   491          apiVersions:
   492            - v1
   493          operations:
   494            - CREATE
   495            - UPDATE
   496          resources:
   497            - pods
   498      sideEffects: None
   499    - admissionReviewVersions:
   500        - v1
   501      clientConfig:
   502        service:
   503          name: '{{ include "kueue.fullname" . }}-webhook-service'
   504          namespace: '{{ .Release.Namespace }}'
   505          path: /validate-ray-io-v1-raycluster
   506      failurePolicy: Fail
   507      name: vraycluster.kb.io
   508      rules:
   509        - apiGroups:
   510            - ray.io
   511          apiVersions:
   512            - v1
   513          operations:
   514            - CREATE
   515            - UPDATE
   516          resources:
   517            - rayclusters
   518      sideEffects: None
   519    - admissionReviewVersions:
   520        - v1
   521      clientConfig:
   522        service:
   523          name: '{{ include "kueue.fullname" . }}-webhook-service'
   524          namespace: '{{ .Release.Namespace }}'
   525          path: /validate-ray-io-v1alpha1-rayjob
   526      failurePolicy: Fail
   527      name: vrayjob.kb.io
   528      rules:
   529        - apiGroups:
   530            - ray.io
   531          apiVersions:
   532            - v1alpha1
   533          operations:
   534            - CREATE
   535            - UPDATE
   536          resources:
   537            - rayjobs
   538      sideEffects: None
   539    - admissionReviewVersions:
   540        - v1
   541      clientConfig:
   542        service:
   543          name: '{{ include "kueue.fullname" . }}-webhook-service'
   544          namespace: '{{ .Release.Namespace }}'
   545          path: /validate-kueue-x-k8s-io-v1beta1-admissioncheck
   546      failurePolicy: Fail
   547      name: vadmissioncheck.kb.io
   548      rules:
   549        - apiGroups:
   550            - kueue.x-k8s.io
   551          apiVersions:
   552            - v1beta1
   553          operations:
   554            - CREATE
   555            - UPDATE
   556          resources:
   557            - admissionchecks
   558      sideEffects: None
   559    - admissionReviewVersions:
   560        - v1
   561      clientConfig:
   562        service:
   563          name: '{{ include "kueue.fullname" . }}-webhook-service'
   564          namespace: '{{ .Release.Namespace }}'
   565          path: /validate-kueue-x-k8s-io-v1beta1-clusterqueue
   566      failurePolicy: Fail
   567      name: vclusterqueue.kb.io
   568      rules:
   569        - apiGroups:
   570            - kueue.x-k8s.io
   571          apiVersions:
   572            - v1beta1
   573          operations:
   574            - CREATE
   575            - UPDATE
   576          resources:
   577            - clusterqueues
   578      sideEffects: None
   579    - admissionReviewVersions:
   580        - v1
   581      clientConfig:
   582        service:
   583          name: '{{ include "kueue.fullname" . }}-webhook-service'
   584          namespace: '{{ .Release.Namespace }}'
   585          path: /validate-kueue-x-k8s-io-v1beta1-localqueue
   586      failurePolicy: Fail
   587      name: vlocalqueue.kb.io
   588      rules:
   589        - apiGroups:
   590            - kueue.x-k8s.io
   591          apiVersions:
   592            - v1beta1
   593          operations:
   594            - CREATE
   595            - UPDATE
   596          resources:
   597            - localqueues
   598      sideEffects: None
   599    - admissionReviewVersions:
   600        - v1
   601      clientConfig:
   602        service:
   603          name: '{{ include "kueue.fullname" . }}-webhook-service'
   604          namespace: '{{ .Release.Namespace }}'
   605          path: /validate-kueue-x-k8s-io-v1beta1-resourceflavor
   606      failurePolicy: Fail
   607      name: vresourceflavor.kb.io
   608      rules:
   609        - apiGroups:
   610            - kueue.x-k8s.io
   611          apiVersions:
   612            - v1beta1
   613          operations:
   614            - CREATE
   615            - UPDATE
   616          resources:
   617            - resourceflavors
   618      sideEffects: None
   619    - admissionReviewVersions:
   620        - v1
   621      clientConfig:
   622        service:
   623          name: '{{ include "kueue.fullname" . }}-webhook-service'
   624          namespace: '{{ .Release.Namespace }}'
   625          path: /validate-kueue-x-k8s-io-v1beta1-workload
   626      failurePolicy: Fail
   627      name: vworkload.kb.io
   628      rules:
   629        - apiGroups:
   630            - kueue.x-k8s.io
   631          apiVersions:
   632            - v1beta1
   633          operations:
   634            - CREATE
   635            - UPDATE
   636          resources:
   637            - workloads
   638            - workloads/status
   639      sideEffects: None