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