From 4542c0dec7ddf1dd8371b3e971fe6d21767a0924 Mon Sep 17 00:00:00 2001 From: Isaiah Stapleton Date: Tue, 8 Jul 2025 10:20:08 -0400 Subject: [PATCH] Fix issues with class-label webhook The current issue with the assign-class-label webhook is that if the webhook pod goes down and the deployment tries to spin it back up, it fails. This is because the MutatingWebhookConfiguration is trying to call the webhook on the webhook pod, but there is no webhook pod so it fails to create. This commit makes it so that the MutatingWebhookConfiguration does not call the webhook on the webhook pod, that way if the pod goes down and tries to spin back up it is able to without failing because there is no webhook pod. This commit also changes replicas for the webhook pod to 2. Also adds the secret.yaml to the kustomization.yaml file. Signed-off-by: Isaiah Stapleton --- webhooks/assign-class-label/deployment.yaml | 8 ++++++-- webhooks/assign-class-label/kustomization.yaml | 1 + webhooks/assign-class-label/webhook-config.yaml | 8 +++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/webhooks/assign-class-label/deployment.yaml b/webhooks/assign-class-label/deployment.yaml index ed86f1e..fc143db 100644 --- a/webhooks/assign-class-label/deployment.yaml +++ b/webhooks/assign-class-label/deployment.yaml @@ -3,8 +3,12 @@ apiVersion: apps/v1 metadata: name: assign-class-label-webhook spec: - replicas: 1 + replicas: 2 template: + metadata: + labels: + app: assign-class-label-webhook + webhook: "true" spec: containers: - name: assign-class-label @@ -23,7 +27,7 @@ spec: env: # EDIT VALUE HERE BEFORE RUNNING, must be comma separated - name: RHOAI_CLASS_GROUPS - value: "cs210,cs506,ee440" + value: "cs210,ds210" serviceAccountName: webhook-sa volumes: - name: cert diff --git a/webhooks/assign-class-label/kustomization.yaml b/webhooks/assign-class-label/kustomization.yaml index 5bcb16d..7518b52 100644 --- a/webhooks/assign-class-label/kustomization.yaml +++ b/webhooks/assign-class-label/kustomization.yaml @@ -11,3 +11,4 @@ resources: - serviceaccount.yaml - role.yaml - rolebinding.yaml + - secret.yaml diff --git a/webhooks/assign-class-label/webhook-config.yaml b/webhooks/assign-class-label/webhook-config.yaml index a8ae6ea..4afc6b3 100644 --- a/webhooks/assign-class-label/webhook-config.yaml +++ b/webhooks/assign-class-label/webhook-config.yaml @@ -9,7 +9,7 @@ webhooks: namespace: rhods-notebooks name: assign-class-label-webhook path: /mutate - caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURvakNDQW9xZ0F3SUJBZ0lVTlpUUGJOMVNBdnNzVUdUTHRUQW1FamE5TmJzd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1FqRUxNQWtHQTFVRUJoTUNXRmd4RlRBVEJnTlZCQWNNREVSbFptRjFiSFFnUTJsMGVURWNNQm9HQTFVRQpDZ3dUUkdWbVlYVnNkQ0JEYjIxd1lXNTVJRXgwWkRBZUZ3MHlOREE1TVRjeE5ESXlNekZhRncweU56QTNNRGd4Ck5ESXlNekZhTUVJeEN6QUpCZ05WQkFZVEFsaFlNUlV3RXdZRFZRUUhEQXhFWldaaGRXeDBJRU5wZEhreEhEQWEKQmdOVkJBb01FMFJsWm1GMWJIUWdRMjl0Y0dGdWVTQk1kR1F3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQgpEd0F3Z2dFS0FvSUJBUUN3Z2RyWGVSek1BYW1TT1hwYnB1a0dsdTdBL1lpVTl1bytZbTI1Zm9aRmhrQXBJeWY1CkNCNzIzRW0wbUtrdmdtR0VjYy9oZ1kwYUxnV3dHZTBGRW40ZjZGQ21RRjJzMlRHMEJPUDZ4Z3NjUHlGMU41NmgKKzRwVnE4UXFrbTA3YktxcEhZSzF2czVTd2tNTXExYjBZWjdBd0Rjd3p6VWtWM20zb0VtSnptR2U1L1JUd1puTApGdlg0LzRsUEdkMGF6MnBlUnBudllOOWZLQWd3bERxMklFdjJJZUljTWpOMmxVQTAxYkhGc09qZXAyakU1dWQrCi9DWmwxZHRuWkJYWWY1N01DNFc2MitmZnlRWExyOGt1clNUN0Z5Zi9OTjVRblhxNDBQSHd4N3dWOHlzY3l6M2sKWmRsalBiTHBMQTJYeE5ZcXJRMDBid1FDVS9kVTVPZ0VaZVU3QWdNQkFBR2pnWTh3Z1l3d0hRWURWUjBPQkJZRQpGUDBobG4xTGs0aXcwUTNwTnVUNVNsWHNKdDYvTUI4R0ExVWRJd1FZTUJhQUZQMGhsbjFMazRpdzBRM3BOdVQ1ClNsWHNKdDYvTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3T1FZRFZSMFJCREl3TUlJdVlYTnphV2R1TFdOc1lYTnoKTFd4aFltVnNMWGRsWW1odmIyc3VjbWh2WkhNdGJtOTBaV0p2YjJ0ekxuTjJZekFOQmdrcWhraUc5dzBCQVFzRgpBQU9DQVFFQVNSdWZpcDI3TmFQVC8wZGZ5VU85MDMxV2F6Z3U0YzY4dG1FVXlBYXpvNlY2Z1lzK005YnVERDNJCkl3ZkkvUXB5bGhIb01EZ3FjcjlyZ1NHY2lvbTFocXM4RjAyNGFaa3BobzV3LzRiSUJ2VWVUVHVKNlhyYzhJOCsKSW1ESHh1SFREVXZ4bG15U0NWc0lOSlBUZWprQ0RQRVR0bVlzaHlNZkxyM1NOYUZSYXU4VlNqUFNsd2VDNVkzUQo4Q3I0Q2V0eHlCdlp0enhpTXZvemR0dGx3d3RGejRaMmQ5ZmRIWmZWbms5UFlqZFpRb3o1cVlBbklkcGlJemo3Ci92UUxQZ1RpbmRDWkIvTW1PbHRBZ0UrNmQrQ2lsOW1yOHlRVVlTdlYzL015SUU1ZDd5M0h0VnJrRnhKYkZqNjEKVjVpOUR1YWNpTXpMUVM2UzJOUUJkcFpINzc0NHZ3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= + caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURvakNDQW9xZ0F3SUJBZ0lVZjBXOXFOVS92OERkdjNKSktJVWV6Z1Z0YTJVd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1FqRUxNQWtHQTFVRUJoTUNXRmd4RlRBVEJnTlZCQWNNREVSbFptRjFiSFFnUTJsMGVURWNNQm9HQTFVRQpDZ3dUUkdWbVlYVnNkQ0JEYjIxd1lXNTVJRXgwWkRBZUZ3MHlOVEEyTVRFeE5qVXdOVGRhRncweU9EQXpNekV4Ck5qVXdOVGRhTUVJeEN6QUpCZ05WQkFZVEFsaFlNUlV3RXdZRFZRUUhEQXhFWldaaGRXeDBJRU5wZEhreEhEQWEKQmdOVkJBb01FMFJsWm1GMWJIUWdRMjl0Y0dGdWVTQk1kR1F3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQgpEd0F3Z2dFS0FvSUJBUUMweklTVkZLc2EyUWoxRmR3UE4rVkh2VnlyUnlRbWJycGgxVklRWWhOY21UaGpBenFaClFOQURMbXlyZzFrcnI4RysrQWhmVzlzYzhjMDFGckM1NHVRQ082K0dQbXBVaHpUd2tsVTUwQkdaS1hOV2ZJNFUKSjlRWklYT1YvUER1TFZyQVhMYzBnOFlGV1pENTFWNnhDcVN2cDdoUGNHNUJSUjNuUm53ZEQweXNnbVJnMExMQQp4VWg2eitEaE1ibkpRV2pRWmJIQ282djVVYkFSQkJOT0FTRWVkSHNqa2dxTXM2SVVDYzJHbnZWRXhRcWxMRWJtClFveVoyRS95L3cxc1JySTFXQTdQK3J5cEZMKzVZMTdXYVlmUnZYSW5MT29oRlRDc1A0cUJLekExYit2cFVUY1kKSnFlVGNGQ0xWVEtrVHR3T0JxY3Q0clBmUjBVT1NkSTdQT3hkQWdNQkFBR2pnWTh3Z1l3d0hRWURWUjBPQkJZRQpGSXUzM2pSbjVMZkJ6UjVYMldCaElCODU5clVXTUI4R0ExVWRJd1FZTUJhQUZJdTMzalJuNUxmQnpSNVgyV0JoCklCODU5clVXTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3T1FZRFZSMFJCREl3TUlJdVlYTnphV2R1TFdOc1lYTnoKTFd4aFltVnNMWGRsWW1odmIyc3VjbWh2WkhNdGJtOTBaV0p2YjJ0ekxuTjJZekFOQmdrcWhraUc5dzBCQVFzRgpBQU9DQVFFQWIwZHpJN3lwZnVWVFY1UXM2UHgzcDVPQVhMc0o3eUhoUWIvV1grN2ZTWWVwa1dCcmdNY09JemRyClovY0o5b3ZQWkRYZ0Y4OEtIMCtYSC9LaVZoYkFrZkVGWlNyNFN4WG5udFJkeHpNNjJDdml0bVIwTS81MzdoYWgKeFJEbVNEcHUvVnRBUUxRdzF6U2VtWG5MbnlkblVJWjZXODlxL2ZaNUpBZHRGNUFYU3U1L2cwNkIrcmtFRGNTVAoya2NhOG4zWWo0Y0pqa3RXbi9NaE1JS29oSUY0bWpJb3M5Q3Y5U1B4Smh5aUZwUCtyLzNPbGdKeVNlMFJibFJ2ClNVeHcxRVRDdmY5MXNER3YwZGJwTllXbDZ0WnVSdHlIaE93UXlrRWdickcxMnYwdk1qU2VwVHVTeW5mT3FGYkoKUGRvRWs3MDlsUGRWK0pFdllwUWVnVTA5S3ZaMlBRPT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= rules: - operations: ["CREATE"] apiGroups: [""] @@ -21,5 +21,11 @@ webhooks: operator: In values: - rhods-notebooks + objectSelector: + matchExpressions: + - key: webhook + operator: NotIn + values: + - "true" sideEffects: None admissionReviewVersions: ["v1"]