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 f8dd300e5..d3783d6c9 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 6639b51bd..c58b073ae 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 77f02f915..abe1b662b 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 340b58796..4fe6a30c5 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 d3783d6c9..5e6b9fd4e 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 c58b073ae..2ac379587 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 abe1b662b..164c1e5a9 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 46b86443d..753c6675c 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 4fe6a30c5..866245a11 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 000000000..36db6073a --- /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 000000000..725c7353b --- /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 d9957b191..d521de4a5 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 753c6675c..ce68ba28d 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 f15c6462e..acbb6ef04 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 866245a11..4fe6a30c5 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 36db6073a..000000000 --- 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 725c7353b..000000000 --- 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 4fe6a30c5..866245a11 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 000000000..36db6073a --- /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 000000000..725c7353b --- /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 b801e5939..81395db45 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 2ac379587..b0cba840e 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 c613bb39a..742a11027 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 164c1e5a9..f763de659 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 2e553ddd3..bbfb102da 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 d521de4a5..4e7730963 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 14ed68689..1d74d750f 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 866245a11..1c2141f49 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 acbb6ef04..b6ea09ea0 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 1c2141f49..23bb05423 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