From c04f98571d29946f0fa7d9c5adef7bad6e269436 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Sun, 20 Jul 2025 14:53:39 +0300 Subject: [PATCH 01/13] added triggerPolicy value option for sensors --- .../templates/_components/event-reporters/_helpers.tpl | 4 ++++ .../event-reporters/rollout-reporter/_sensor.yaml | 6 +++--- .../event-reporters/workflow-reporter/_sensor.yaml | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/charts/gitops-runtime/templates/_components/event-reporters/_helpers.tpl b/charts/gitops-runtime/templates/_components/event-reporters/_helpers.tpl index f8dd300e..d3783d6c 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/_helpers.tpl +++ b/charts/gitops-runtime/templates/_components/event-reporters/_helpers.tpl @@ -134,6 +134,10 @@ assumes the name, condition and payload.dependencyName are identical retryStrategy: {{- .retryStrategy | toYaml | nindent 4 }} {{- end }} + {{- if .policy }} + policy: + {{- .policy | toYaml | nindent 4 }} + {{- end }} {{- end -}} {{/* Logging trigger for the sensor - gets sensor.logging dict */}} diff --git a/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml b/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml index 6639b51b..c58b073a 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml +++ b/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml @@ -40,8 +40,8 @@ spec: {{- . | toYaml | nindent 6 }} {{- end }} triggers: - {{- include "event-reporters.http.trigger" (dict "name" "rollouts" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy) | nindent 4 }} - {{- include "event-reporters.http.trigger" (dict "name" "replicasets" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy) | nindent 4 }} - {{- include "event-reporters.http.trigger" (dict "name" "analysisruns" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy) | nindent 4 }} + {{- include "event-reporters.http.trigger" (dict "name" "rollouts" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy "policy" .Values.rollout.sensor.policy) | nindent 4 }} + {{- include "event-reporters.http.trigger" (dict "name" "replicasets" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy "policy" .Values.rollout.sensor.policy) | nindent 4 }} + {{- include "event-reporters.http.trigger" (dict "name" "analysisruns" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy "policy" .Values.rollout.sensor.policy) | nindent 4 }} {{- include "event-reporters.log.trigger" (.Values.rollout.sensor.logging) | nindent 4 }} {{- end }} diff --git a/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml b/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml index 77f02f91..abe1b662 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml +++ b/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml @@ -34,6 +34,6 @@ spec: {{- . | toYaml | nindent 6 }} {{- end }} triggers: - {{- include "event-reporters.http.trigger" (dict "name" "workflows" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.workflow.sensor.retryStrategy) | nindent 4 }} + {{- include "event-reporters.http.trigger" (dict "name" "workflows" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.workflow.sensor.retryStrategy "policy" .Values.workflow.sensor.policy) | nindent 4 }} {{- include "event-reporters.log.trigger" (.Values.workflow.sensor.logging) | nindent 4 }} {{- end }} From 09ce816524cd1a1bb936f618ba04d1b3b8031de8 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Sun, 20 Jul 2025 14:59:24 +0300 Subject: [PATCH 02/13] feat(tests): add HTTP trigger policy assertion for workflow reporter Add a test case to verify that the HTTP trigger contains the correct policy settings when specified. This includes asserting that the status allows a response code of 200. --- .../tests/event-reporters-sensors_test.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml index 340b5879..4fe6a30c 100644 --- a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml +++ b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml @@ -245,3 +245,20 @@ tests: factor: 1.2 jitter: 3 + - it: HTTP trigger contains policy if set - workflow reporter + template: 'event-reporters/workflow-reporter/sensor.yaml' + values: + - './values/mandatory-values.yaml' + set: + event-reporters.workflow.sensor: + policy: + status: + allow: + - 200 + asserts: + - equal: + path: spec.triggers[0].policy + value: + status: + allow: + - 200 From b27de01166d0c3bc053db9bd5ec13b113dc561c8 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 13:41:00 +0300 Subject: [PATCH 03/13] added `atLeastOnce` field + template --- .../_components/event-reporters/_helpers.tpl | 1 + .../rollout-reporter/_sensor.yaml | 6 ++--- .../workflow-reporter/_sensor.yaml | 2 +- charts/gitops-runtime/values.yaml | 22 +++++++++++++++++++ 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/charts/gitops-runtime/templates/_components/event-reporters/_helpers.tpl b/charts/gitops-runtime/templates/_components/event-reporters/_helpers.tpl index d3783d6c..5e6b9fd4 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/_helpers.tpl +++ b/charts/gitops-runtime/templates/_components/event-reporters/_helpers.tpl @@ -130,6 +130,7 @@ assumes the name, condition and payload.dependencyName are identical src: dataKey: body dependencyName: {{ .name }} + atLeastOnce: {{ .atLeastOnce }} {{- if .retryStrategy }} retryStrategy: {{- .retryStrategy | toYaml | nindent 4 }} diff --git a/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml b/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml index c58b073a..2ac37958 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml +++ b/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml @@ -40,8 +40,8 @@ spec: {{- . | toYaml | nindent 6 }} {{- end }} triggers: - {{- include "event-reporters.http.trigger" (dict "name" "rollouts" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy "policy" .Values.rollout.sensor.policy) | nindent 4 }} - {{- include "event-reporters.http.trigger" (dict "name" "replicasets" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy "policy" .Values.rollout.sensor.policy) | nindent 4 }} - {{- include "event-reporters.http.trigger" (dict "name" "analysisruns" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy "policy" .Values.rollout.sensor.policy) | nindent 4 }} + {{- include "event-reporters.http.trigger" (dict "name" "rollouts" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy "policy" .Values.rollout.sensor.policy "atLeastOnce" .Values.rollout.sensor.atLeastOnce) | nindent 4 }} + {{- include "event-reporters.http.trigger" (dict "name" "replicasets" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy "policy" .Values.rollout.sensor.policy "atLeastOnce" .Values.rollout.sensor.atLeastOnce) | nindent 4 }} + {{- include "event-reporters.http.trigger" (dict "name" "analysisruns" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.rollout.sensor.retryStrategy "policy" .Values.rollout.sensor.policy "atLeastOnce" .Values.rollout.sensor.atLeastOnce) | nindent 4 }} {{- include "event-reporters.log.trigger" (.Values.rollout.sensor.logging) | nindent 4 }} {{- end }} diff --git a/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml b/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml index abe1b662..164c1e5a 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml +++ b/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml @@ -34,6 +34,6 @@ spec: {{- . | toYaml | nindent 6 }} {{- end }} triggers: - {{- include "event-reporters.http.trigger" (dict "name" "workflows" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.workflow.sensor.retryStrategy "policy" .Values.workflow.sensor.policy) | nindent 4 }} + {{- include "event-reporters.http.trigger" (dict "name" "workflows" "Values" .Values "payloadDest" "data.object" "retryStrategy" .Values.workflow.sensor.retryStrategy "policy" .Values.workflow.sensor.policy "atLeastOnce" .Values.workflow.sensor.atLeastOnce) | nindent 4 }} {{- include "event-reporters.log.trigger" (.Values.workflow.sensor.logging) | nindent 4 }} {{- end }} diff --git a/charts/gitops-runtime/values.yaml b/charts/gitops-runtime/values.yaml index 46b86443..753c6675 100644 --- a/charts/gitops-runtime/values.yaml +++ b/charts/gitops-runtime/values.yaml @@ -374,6 +374,8 @@ event-reporters: logging: enabled: false intervalSeconds: 0 + # -- At Least Once + atLeastOnce: true # -- Retry strategy for events sent to Codefresh retryStrategy: # -- Number of retries @@ -384,6 +386,15 @@ event-reporters: factor: 1.0 # -- The sleep between each retry is the duration plus an additional amount chosen uniformly at random from the interval between zero and `jitter * duration`. jitter: 1 + policy: + status: + allow: + - 200 + - 201 + - 204 + - 400 + - 401 + - 404 replicas: 1 resources: {} # -- Environment variables for sensor pods - add DEBUG_LOG: "true" to add debug level logs @@ -405,6 +416,8 @@ event-reporters: logging: enabled: false intervalSeconds: 0 + # -- At Least Once + atLeastOnce: true # -- Retry strategy for events sent to Codefresh retryStrategy: # -- Number of retries @@ -415,6 +428,15 @@ event-reporters: factor: 1.0 # -- The sleep between each retry is the duration plus an additional amount chosen uniformly at random from the interval between zero and `jitter * duration`. jitter: 1 + policy: + status: + allow: + - 200 + - 201 + - 204 + - 400 + - 401 + - 404 replicas: 1 resources: {} # -- Environment variables for sensor pods - add DEBUG_LOG: "true" to add debug level logs From 887b423fd622d6a01e23601f692e5f884bbdda90 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 13:48:29 +0300 Subject: [PATCH 04/13] feat(tests): add assertion for atLeastOnce trigger in workflow reporter Add a test case to verify that the HTTP trigger contains the atLeastOnce field set to false when it is unset. This ensures proper behavior of the workflow reporter's sensor configuration. --- .../tests/event-reporters-sensors_test.yaml | 12 ++++++++++++ tests/component-tests/setup/codefresh-isc | 1 + tests/component-tests/setup/simple-app | 1 + 3 files changed, 14 insertions(+) create mode 160000 tests/component-tests/setup/codefresh-isc create mode 160000 tests/component-tests/setup/simple-app diff --git a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml index 4fe6a30c..866245a1 100644 --- a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml +++ b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml @@ -262,3 +262,15 @@ tests: status: allow: - 200 + + - it: HTTP trigger contains atLeastOnce if unset - workflow reporter + template: 'event-reporters/workflow-reporter/sensor.yaml' + values: + - './values/mandatory-values.yaml' + set: + event-reporters.workflow.sensor: + atLeastOnce: false + asserts: + - equal: + path: spec.triggers[0].atLeastOnce + value: false diff --git a/tests/component-tests/setup/codefresh-isc b/tests/component-tests/setup/codefresh-isc new file mode 160000 index 00000000..36db6073 --- /dev/null +++ b/tests/component-tests/setup/codefresh-isc @@ -0,0 +1 @@ +Subproject commit 36db6073a3c784095872b5243aeb1cbb31f85765 diff --git a/tests/component-tests/setup/simple-app b/tests/component-tests/setup/simple-app new file mode 160000 index 00000000..725c7353 --- /dev/null +++ b/tests/component-tests/setup/simple-app @@ -0,0 +1 @@ +Subproject commit 725c7353bd7859036d547c97b948734c91d30d61 From 923ca783f6e2bdb4aadd77089b13dab76c670693 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 15:16:10 +0300 Subject: [PATCH 05/13] fix(eventbus): set default event bus name based on type Update the event bus name assignment to use a default value based on the event bus type. This change ensures that the event bus name is correctly set for both NATS and Jetstream configurations, improving the clarity and consistency of the event bus setup. --- .../gitops-runtime/templates/eventbus/codefresh-eventbus.yaml | 4 +++- charts/gitops-runtime/values.yaml | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/charts/gitops-runtime/templates/eventbus/codefresh-eventbus.yaml b/charts/gitops-runtime/templates/eventbus/codefresh-eventbus.yaml index d9957b19..d521de4a 100644 --- a/charts/gitops-runtime/templates/eventbus/codefresh-eventbus.yaml +++ b/charts/gitops-runtime/templates/eventbus/codefresh-eventbus.yaml @@ -1,4 +1,4 @@ -{{- $eventBusName := default "codefresh-eventbus" .Values.global.runtime.eventBus.name }} +{{- $eventBusName := .Values.global.runtime.eventBus.name }} {{- $eventBusSpec := .Values.global.runtime.eventBus }} {{- $eventBusType := .Values.global.runtime.eventBus.type }} {{/* Remove name from eventbus spec */}} @@ -16,12 +16,14 @@ {{- if eq $eventBusType "nats" }} {{- $eventBusSpec = unset $eventBusSpec "jetstream" }} + {{- $eventBusName = default "codefresh-eventbus" $eventBusName }} {{- $_ := set $eventBusSpec.nats.native "nodeSelector" ($eventBusSpec.nats.native.nodeSelector | default .Values.global.nodeSelector) }} {{- $_ := set $eventBusSpec.nats.native "tolerations" ($eventBusSpec.nats.native.tolerations | default .Values.global.tolerations) }} {{- end }} {{- if eq $eventBusType "jetstream" }} {{- $eventBusSpec = unset $eventBusSpec "nats" }} + {{- $eventBusName = default "codefresh-eventbus-jetstream" $eventBusName }} {{- $_ := set $eventBusSpec.jetstream "nodeSelector" ($eventBusSpec.jetstream.nodeSelector | default .Values.global.nodeSelector) }} {{- $_ := set $eventBusSpec.jetstream "tolerations" ($eventBusSpec.jetstream.tolerations | default .Values.global.tolerations) }} {{- end }} diff --git a/charts/gitops-runtime/values.yaml b/charts/gitops-runtime/values.yaml index 753c6675..ce68ba28 100644 --- a/charts/gitops-runtime/values.yaml +++ b/charts/gitops-runtime/values.yaml @@ -84,8 +84,8 @@ global: # -- Runtime eventbus eventBus: - # -- Eventbus name - name: 'codefresh-eventbus' + # -- Eventbus name + name: '' # -- Annotations on EventBus resource annotations: {} # -- Pod disruption budget for the eventbus From 180b10768b5c9d3b5b8325c57cd70fe474aa357e Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 15:26:25 +0300 Subject: [PATCH 06/13] test(eventbus): add name assertions for nats and jetstream EventBus --- charts/gitops-runtime/tests/eventbus_test.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/charts/gitops-runtime/tests/eventbus_test.yaml b/charts/gitops-runtime/tests/eventbus_test.yaml index f15c6462..acbb6ef0 100644 --- a/charts/gitops-runtime/tests/eventbus_test.yaml +++ b/charts/gitops-runtime/tests/eventbus_test.yaml @@ -14,6 +14,9 @@ tests: path: spec.nats - notExists: path: spec.jetstream + - equal: + path: metadata.name + value: codefresh-eventbus - it: Should create an EventBus with the correct type (jetstream) template: eventbus/codefresh-eventbus.yaml @@ -26,3 +29,6 @@ tests: path: spec.jetstream - notExists: path: spec.nats + - equal: + path: metadata.name + value: codefresh-eventbus-jetstream From d48b92e5357efd0073de3327c6bc689ae3f1df1a Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 15:48:59 +0300 Subject: [PATCH 07/13] Revert "feat(tests): add assertion for atLeastOnce trigger in workflow reporter" This reverts commit 807b6dedc0afd2b32bfb11b2fbffae6e3cd2c50b. --- .../tests/event-reporters-sensors_test.yaml | 12 ------------ tests/component-tests/setup/codefresh-isc | 1 - tests/component-tests/setup/simple-app | 1 - 3 files changed, 14 deletions(-) delete mode 160000 tests/component-tests/setup/codefresh-isc delete mode 160000 tests/component-tests/setup/simple-app diff --git a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml index 866245a1..4fe6a30c 100644 --- a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml +++ b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml @@ -262,15 +262,3 @@ tests: status: allow: - 200 - - - it: HTTP trigger contains atLeastOnce if unset - workflow reporter - template: 'event-reporters/workflow-reporter/sensor.yaml' - values: - - './values/mandatory-values.yaml' - set: - event-reporters.workflow.sensor: - atLeastOnce: false - asserts: - - equal: - path: spec.triggers[0].atLeastOnce - value: false diff --git a/tests/component-tests/setup/codefresh-isc b/tests/component-tests/setup/codefresh-isc deleted file mode 160000 index 36db6073..00000000 --- a/tests/component-tests/setup/codefresh-isc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 36db6073a3c784095872b5243aeb1cbb31f85765 diff --git a/tests/component-tests/setup/simple-app b/tests/component-tests/setup/simple-app deleted file mode 160000 index 725c7353..00000000 --- a/tests/component-tests/setup/simple-app +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 725c7353bd7859036d547c97b948734c91d30d61 From 0bcd81687ad15f13166c31983d5263b12a93a585 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 15:50:03 +0300 Subject: [PATCH 08/13] test(event-reporters): add assertion for atLeastOnce trigger when unset --- .../tests/event-reporters-sensors_test.yaml | 12 ++++++++++++ tests/component-tests/setup/codefresh-isc | 1 + tests/component-tests/setup/simple-app | 1 + 3 files changed, 14 insertions(+) create mode 160000 tests/component-tests/setup/codefresh-isc create mode 160000 tests/component-tests/setup/simple-app diff --git a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml index 4fe6a30c..866245a1 100644 --- a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml +++ b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml @@ -262,3 +262,15 @@ tests: status: allow: - 200 + + - it: HTTP trigger contains atLeastOnce if unset - workflow reporter + template: 'event-reporters/workflow-reporter/sensor.yaml' + values: + - './values/mandatory-values.yaml' + set: + event-reporters.workflow.sensor: + atLeastOnce: false + asserts: + - equal: + path: spec.triggers[0].atLeastOnce + value: false diff --git a/tests/component-tests/setup/codefresh-isc b/tests/component-tests/setup/codefresh-isc new file mode 160000 index 00000000..36db6073 --- /dev/null +++ b/tests/component-tests/setup/codefresh-isc @@ -0,0 +1 @@ +Subproject commit 36db6073a3c784095872b5243aeb1cbb31f85765 diff --git a/tests/component-tests/setup/simple-app b/tests/component-tests/setup/simple-app new file mode 160000 index 00000000..725c7353 --- /dev/null +++ b/tests/component-tests/setup/simple-app @@ -0,0 +1 @@ +Subproject commit 725c7353bd7859036d547c97b948734c91d30d61 From de20501fb402fb0f9efeb9ba8b657e21ada065a8 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 16:33:32 +0300 Subject: [PATCH 09/13] fixed eventbus name across sensors and eventsources --- .../rollout-reporter/_event-source.yaml | 2 +- .../event-reporters/rollout-reporter/_sensor.yaml | 2 +- .../workflow-reporter/_event-source.yaml | 2 +- .../event-reporters/workflow-reporter/_sensor.yaml | 2 +- charts/gitops-runtime/templates/_helpers.tpl | 14 ++++++++++++++ .../templates/eventbus/codefresh-eventbus.yaml | 4 +--- charts/gitops-runtime/templates/eventbus/pdb.yaml | 2 +- 7 files changed, 20 insertions(+), 8 deletions(-) diff --git a/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_event-source.yaml b/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_event-source.yaml index b801e593..81395db4 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_event-source.yaml +++ b/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_event-source.yaml @@ -7,7 +7,7 @@ metadata: {{- include "event-reporters.rollout-reporter.labels" . | nindent 4}} spec: replicas: {{ .Values.rollout.eventSource.replicas }} - eventBusName: {{ default "codefresh-eventbus" .Values.global.runtime.eventBus.name }} + eventBusName: {{ include "codefresh-gitops-runtime.eventbus.name" .Values.global.runtime.eventBus }} resource: analysisruns: eventTypes: diff --git a/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml b/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml index 2ac37958..b0cba840 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml +++ b/charts/gitops-runtime/templates/_components/event-reporters/rollout-reporter/_sensor.yaml @@ -17,7 +17,7 @@ spec: - name: analysisruns eventSourceName: rollout-reporter eventName: analysisruns - eventBusName: {{ default "codefresh-eventbus" .Values.global.runtime.eventBus.name }} + eventBusName: {{ include "codefresh-gitops-runtime.eventbus.name" .Values.global.runtime.eventBus }} template: serviceAccountName: {{ include "event-reporters.rollout-reporter.serviceAccountName" .}} container: diff --git a/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_event-source.yaml b/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_event-source.yaml index c613bb39..742a1102 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_event-source.yaml +++ b/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_event-source.yaml @@ -7,7 +7,7 @@ metadata: {{- include "event-reporters.workflow-reporter.labels" . | nindent 4 }} spec: replicas: {{ .Values.workflow.eventSource.replicas }} - eventBusName: {{ default "codefresh-eventbus" .Values.global.runtime.eventBus.name }} + eventBusName: {{ include "codefresh-gitops-runtime.eventbus.name" .Values.global.runtime.eventBus }} resource: workflows: eventTypes: diff --git a/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml b/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml index 164c1e5a..f763de65 100644 --- a/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml +++ b/charts/gitops-runtime/templates/_components/event-reporters/workflow-reporter/_sensor.yaml @@ -11,7 +11,7 @@ spec: - eventName: workflows eventSourceName: workflow-reporter name: workflows - eventBusName: {{ default "codefresh-eventbus" .Values.global.runtime.eventBus.name }} + eventBusName: {{ include "codefresh-gitops-runtime.eventbus.name" .Values.global.runtime.eventBus }} template: serviceAccountName: {{ include "event-reporters.workflow-reporter.serviceAccountName" .}} container: diff --git a/charts/gitops-runtime/templates/_helpers.tpl b/charts/gitops-runtime/templates/_helpers.tpl index 2e553ddd..bbfb102d 100644 --- a/charts/gitops-runtime/templates/_helpers.tpl +++ b/charts/gitops-runtime/templates/_helpers.tpl @@ -522,3 +522,17 @@ HTTPS_PROXY: {{ .Values.global.httpsProxy }} NO_PROXY: {{ .Values.global.noProxy }} {{- end }} {{- end -}} + +{{- define "codefresh-gitops-runtime.eventbus.name" }} + {{- $eventBusName := "" }} + {{- $eventBusType := .type }} + {{- if eq $eventBusType "nats" }} + {{- $eventBusName = default "codefresh-eventbus" .name }} + {{- else if eq $eventBusType "jetstream" }} + {{- $eventBusName = default "codefresh-eventbus-jetstream" .name }} + {{- else }} + {{- fail (printf "ERROR: EventBus type %s is inavlid, must be nats|jetstream" $eventBusType ) }} + {{- end }} + +{{- printf "%s" $eventBusName }} +{{- end }} diff --git a/charts/gitops-runtime/templates/eventbus/codefresh-eventbus.yaml b/charts/gitops-runtime/templates/eventbus/codefresh-eventbus.yaml index d521de4a..4e773096 100644 --- a/charts/gitops-runtime/templates/eventbus/codefresh-eventbus.yaml +++ b/charts/gitops-runtime/templates/eventbus/codefresh-eventbus.yaml @@ -1,4 +1,4 @@ -{{- $eventBusName := .Values.global.runtime.eventBus.name }} +{{- $eventBusName := (include "codefresh-gitops-runtime.eventbus.name" .Values.global.runtime.eventBus) }} {{- $eventBusSpec := .Values.global.runtime.eventBus }} {{- $eventBusType := .Values.global.runtime.eventBus.type }} {{/* Remove name from eventbus spec */}} @@ -16,14 +16,12 @@ {{- if eq $eventBusType "nats" }} {{- $eventBusSpec = unset $eventBusSpec "jetstream" }} - {{- $eventBusName = default "codefresh-eventbus" $eventBusName }} {{- $_ := set $eventBusSpec.nats.native "nodeSelector" ($eventBusSpec.nats.native.nodeSelector | default .Values.global.nodeSelector) }} {{- $_ := set $eventBusSpec.nats.native "tolerations" ($eventBusSpec.nats.native.tolerations | default .Values.global.tolerations) }} {{- end }} {{- if eq $eventBusType "jetstream" }} {{- $eventBusSpec = unset $eventBusSpec "nats" }} - {{- $eventBusName = default "codefresh-eventbus-jetstream" $eventBusName }} {{- $_ := set $eventBusSpec.jetstream "nodeSelector" ($eventBusSpec.jetstream.nodeSelector | default .Values.global.nodeSelector) }} {{- $_ := set $eventBusSpec.jetstream "tolerations" ($eventBusSpec.jetstream.tolerations | default .Values.global.tolerations) }} {{- end }} diff --git a/charts/gitops-runtime/templates/eventbus/pdb.yaml b/charts/gitops-runtime/templates/eventbus/pdb.yaml index 14ed6868..1d74d750 100644 --- a/charts/gitops-runtime/templates/eventbus/pdb.yaml +++ b/charts/gitops-runtime/templates/eventbus/pdb.yaml @@ -1,4 +1,4 @@ -{{- $eventBusName := default "codefresh-eventbus" .Values.global.runtime.eventBus.name }} +{{- $eventBusName := (include "codefresh-gitops-runtime.eventbus.name" .Values.global.runtime.eventBus) }} {{- if .Values.global.runtime.eventBus.pdb.enabled }} apiVersion: policy/v1 kind: PodDisruptionBudget From adf5100ca5a530078e7851dcb47ee5a579bfb9a7 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 17:10:34 +0300 Subject: [PATCH 10/13] added tests --- .../tests/event-reporters-sensors_test.yaml | 35 ++++++++++++++++++ .../gitops-runtime/tests/eventbus_test.yaml | 36 ++++++++++++++++++- 2 files changed, 70 insertions(+), 1 deletion(-) diff --git a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml index 866245a1..1c2141f4 100644 --- a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml +++ b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml @@ -263,6 +263,19 @@ tests: allow: - 200 + - it: HTTP trigger contains atLeastOnce if unset - rollout reporter + template: 'event-reporters/rollout-reporter/sensor.yaml' + values: + - './values/mandatory-values.yaml' + set: + event-reporters.workflow.sensor: + atLeastOnce: false + asserts: + - equal: + path: spec.triggers[0].atLeastOnce + value: false + + - it: HTTP trigger contains atLeastOnce if unset - workflow reporter template: 'event-reporters/workflow-reporter/sensor.yaml' values: @@ -274,3 +287,25 @@ tests: - equal: path: spec.triggers[0].atLeastOnce value: false + + - it: uses the correct eventBusName if type is jetstream - rollout reporter + template: 'event-reporters/rollout-reporter/sensor.yaml' + values: + - './values/mandatory-values.yaml' + set: + global.runtime.eventBus.type: jetstream + asserts: + - equal: + path: spec.eventBusName + value: codefresh-eventbus-jetstream + + - it: uses the correct eventBusName if type is jetstream - workflow reporter + template: 'event-reporters/workflow-reporter/sensor.yaml' + values: + - './values/mandatory-values.yaml' + set: + global.runtime.eventBus.type: jetstream + asserts: + - equal: + path: spec.eventBusName + value: codefresh-eventbus-jetstream diff --git a/charts/gitops-runtime/tests/eventbus_test.yaml b/charts/gitops-runtime/tests/eventbus_test.yaml index acbb6ef0..b6ea09ea 100644 --- a/charts/gitops-runtime/tests/eventbus_test.yaml +++ b/charts/gitops-runtime/tests/eventbus_test.yaml @@ -29,6 +29,40 @@ tests: path: spec.jetstream - notExists: path: spec.nats + + - it: Should create an EventBus with the correct default name (nats) + template: eventbus/codefresh-eventbus.yaml + values: + - ./values/mandatory-values.yaml + set: + global.runtime.eventBus.type: nats + asserts: + - equal: + path: metadata.name + value: codefresh-eventbus + + - it: Should create an EventBus with the correct override name (nats) + template: eventbus/codefresh-eventbus.yaml + values: + - ./values/mandatory-values.yaml + set: + global.runtime.eventBus: + name: manual-override + type: nats + asserts: + - equal: + path: metadata.name + value: manual-override + + - it: Should create an EventBus with the correct override name (jetstream) + template: eventbus/codefresh-eventbus.yaml + values: + - ./values/mandatory-values.yaml + set: + global.runtime.eventBus: + name: manual-override + type: jetstream + asserts: - equal: path: metadata.name - value: codefresh-eventbus-jetstream + value: manual-override From 0306cc1fdf2caab3a044ae464429443864d9110b Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 17:10:43 +0300 Subject: [PATCH 11/13] fixed test --- charts/gitops-runtime/tests/event-reporters-sensors_test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml index 1c2141f4..23bb0542 100644 --- a/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml +++ b/charts/gitops-runtime/tests/event-reporters-sensors_test.yaml @@ -268,7 +268,7 @@ tests: values: - './values/mandatory-values.yaml' set: - event-reporters.workflow.sensor: + event-reporters.rollout.sensor: atLeastOnce: false asserts: - equal: From 3438da9e58bed1731e2b7cded2402de09d209fc9 Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Mon, 21 Jul 2025 17:37:01 +0300 Subject: [PATCH 12/13] bump From ada65900e4d75aeb9537dc952d74a6d6305155be Mon Sep 17 00:00:00 2001 From: Noam Gal Date: Tue, 22 Jul 2025 11:07:34 +0300 Subject: [PATCH 13/13] bump