You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _docs/installation/gitops/runtime-architecture.md
+53-1Lines changed: 53 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -99,6 +99,58 @@ Codefresh users rely on our platform to deliver software reliably, and predictab
99
99
To maintain that high standard, we add several weeks of testing and bug fixes to new versions of Argo before making them available within Codefresh.
100
100
Typically, new versions of Argo CD are available in the Codefresh Runtime within 30 days of their official release.
101
101
102
+
##Event Reporters
103
+
Event Reporters monitor changes to resources deployed on the cluster and report the changes back to the Codefresh platform.
104
+
105
+
Codefresh has two types of Event Reporters:
106
+
* Resource Event Reporter
107
+
* Application Event Reporter
108
+
109
+
###Resource Event Reporter
110
+
The Resource Event Reporter monitors specific types of resources on the cluster and tracks changes in their live-states. It sends the live-state manifests with the changes to Codefresh without preprocessing.
111
+
112
+
The Resource Event Reporter monitors changes to these resource types:
113
+
* Rollouts (Argo Rollouts)
114
+
* ReplicaSets and Workflows (Argo Workflows)
115
+
116
+
Resource Event Reporters leverage Argo Event components such as Event Sources to monitor changes to the live-state manifests, and Sensors to send the live-state manifests to Codefresh. For setup information on these Argo Event components, see Argo CD's documentation on[Event Source](https://argoproj.github.io/argo-events/concepts/event_source/){:target="\_blank"} and[Sensor](https://argoproj.github.io/argo-events/concepts/sensor/){:target="\_blank"}.
117
+
118
+
###Application Event Reporter
119
+
The Application Event Reporter specializes in monitoring changes to Argo CD applications deployed on the cluster.
120
+
121
+
In contrast to the Resource Event Reporter which utilizes Argo Events, the Application Event Reporter employs a proprietary implementation that includes an event queue to process application change-events and sharding for a robust and scalable setup. Another significant difference is that the Application Reporter retrieves both the live-state manifest of the application, and the Git manifests for all the application's managed resources.
122
+
123
+
#####Application Event Reporter data flow
124
+
The diagram below illustrates the data flow for the Application Event Reporter (identified on the cluster as**event-reporter**):
1. The user makes changes to the application manifest or its managed resources and commits them to the Git repository.
138
+
139
+
1. The Argo CD Application Controller monitors the Git repository for changes, synchronizes the updates with the cluster, and forwards the changes to the Kubernetes API.
140
+
141
+
1. The Application Event Reporter subscribes to the Kubernetes API to receive application-change events.
142
+
* If there are multiple instances of the Application Event Reporter, each instance subscribes to a set of specific applications determined through a hash function on the application name.
143
+
* The application-change event is added to the Event Queue of the appropriate Application Reporter instance for processing based on the shard to which it belongs. Each instance of the Application Reporter can queue up to 1,000 events at a time.
144
+
145
+
>**NOTE**
146
+
The number of Application Event Reporters are equal to the configured number of replicas. By default, there are five replicas, but the number can be customized through the`argo-cd.eventReporter.replicas` parameter in your Helm values file[values.yaml](https://github.com/codefresh-io/gitops-runtime-helm/tree/main/charts/gitops-runtime){:target="\_blank"}.
147
+
148
+
{:start="4"}
149
+
1. The Application Event Reporter requests both the application's live-state manifest and the Git manifests for all the application's managed resources from the Argo CD Server.
150
+
151
+
1. The Argo CD server retrieves these manifests from the Argo CD repo-server and forwards them to the Application Event Reporter.
152
+
153
+
1. The Application Event Reporter reports the application-change events to the Codefresh platform.
102
154
103
155
##Request Routing Service
104
156
The Request Routing Service is installed on the same cluster as the GitOps Runtime in the customer environment.
@@ -107,7 +159,7 @@ It receives requests from the the Tunnel Client (tunnel-based) or the ingress co
107
159
{{site.data.callout.callout_warning}}
108
160
**IMPORTANT**
109
161
The Request Routing Service is available from Runtime version 0.0.543 and higher.
110
-
Older Runtime versions are not affected asthere is complete backward compatibility, andthe ingress controller continues to route incoming requests.
162
+
Older Runtime versions are not affected as the ingress controller continues to route incoming requests and there is full backward compatibility.