From 40cb3223fa0beaaec93d0578bd7f76b4b17351ea Mon Sep 17 00:00:00 2001 From: Todd Short Date: Fri, 6 Sep 2024 16:04:13 -0400 Subject: [PATCH] Fix matchConditions to be compatible with GenerateName (#382) Signed-off-by: Todd Short --- config/base/manager/webhook/patch.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/config/base/manager/webhook/patch.yaml b/config/base/manager/webhook/patch.yaml index a394f970..78dec639 100644 --- a/config/base/manager/webhook/patch.yaml +++ b/config/base/manager/webhook/patch.yaml @@ -8,8 +8,13 @@ - op: add path: /webhooks/0/clientConfig/service/port value: 443 +# Make sure there's a name defined, otherwise, we can't create a label. This could happen when generateName is set +# Then, if any of the conditions are true, create the label: +# 1. No labels exist +# 2. The olm.operatorframework.io/metadata.name label doesn't exist +# 3. The olm.operatorframework.io/metadata.name label doesn't match the name - op: add path: /webhooks/0/matchConditions value: - name: MissingOrIncorrectMetadataNameLabel - expression: "!has(object.metadata.labels) || !('olm.operatorframework.io/metadata.name' in object.metadata.labels) || object.metadata.labels['olm.operatorframework.io/metadata.name'] != object.metadata.name" + expression: "'name' in object.metadata && (!has(object.metadata.labels) || !('olm.operatorframework.io/metadata.name' in object.metadata.labels) || object.metadata.labels['olm.operatorframework.io/metadata.name'] != object.metadata.name)"