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
The Codefresh Control Plane is the SaaS component in the platform. External to the enterprise firewall, it does not have direct communication with the Codefresh Runtime, Codefresh Clients, or the customer's organizational systems. The Codefresh Runtime and the Codefresh Clients communicate with the Codefresh Control Plane to retrieve the required information.
75
73
76
74
77
-
{::nomarkdown}
78
-
<br>
79
-
{:/}
80
75
81
76
###GitOps Runtime
82
77
The GitOps Runtime is installed on a Kubernetes cluster, and houses the enterprise distribution of the Codefresh Application Proxy and the Argo Project.
83
78
Depending on the type of GitOps installation, the GitOps Runtime is installed either in the Codefresh platform (Hosted GitOps), or in the customer environment (Hybrid GitOps). Read more in[Codefresh GitOps Runtime architecture](#codefresh-gitops-runtime-architecture).
84
79
85
80
86
-
{::nomarkdown}
87
-
<br>
88
-
{:/}
89
81
90
82
###GitOps Clients
91
83
92
84
GitOps Clients include the UI and the GitOps CLI.
93
85
The UI provides a unified, enterprise-wide view of deployments (runtimes and clusters), and CI/CD operations (Delivery Pipelines, workflows, and deployments) in the same location.
94
86
The Codefresh CLI includes commands to install hybrid runtimes, add external clusters, and manage runtimes and clusters.
95
87
96
-
###GitOps Runtime architecture
88
+
##GitOps Runtime architecture
97
89
The sections that follow show detailed views of the GitOps Runtime architecture for the different installation options, and descriptions of the GitOps Runtime components.
Tunnel-based Hybrid GitOps runtimes use tunneling instead of ingress controllers to control communication between the GitOps Runtime in the customer cluster and the Codefresh GitOps Platform. Tunnel-based runtimes are optimal when the cluster with the GitOps Runtime is not exposed to the internet.
128
121
129
122
{% include
@@ -137,7 +130,7 @@ Tunnel-based Hybrid GitOps runtimes use tunneling instead of ingress controllers
Ingress-based runtimes use ingress controllers to control communication between the GitOps Runtime in the customer cluster and the Codefresh GitOps Platform. Ingress-based runtimes are optimal when the cluster with the GitOps Runtime is exposed to the internet.
142
135
143
136
@@ -153,7 +146,7 @@ Ingress-based runtimes use ingress controllers to control communication between
153
146
%}
154
147
155
148
156
-
####Application Proxy
149
+
###Application Proxy
157
150
The GitOps Application Proxy (App-Proxy) functions as the Codefresh agent, and is deployed as a service in the GitOps Runtime.
158
151
159
152
For tunnel-based Hybrid GitOps Runtimes, the Tunnel Client forwards the incoming traffic from the Tunnel Server using the Request Routing Service to the GitOps App-Proxy.
@@ -167,11 +160,9 @@ The GitOps App-Proxy:
167
160
* Implements commits for GitOps-controlled entities, such as Delivery Pipelines and other CI resources
168
161
* Implements state-change operations for non-GitOps controlled entities, such as terminating Argo Workflows
169
162
170
-
{::nomarkdown}
171
-
<br>
172
-
{:/}
173
163
174
-
####Argo Project
164
+
165
+
###Argo Project
175
166
176
167
The Argo Project includes:
177
168
* Argo CD for declarative continuous deployment
@@ -183,19 +174,17 @@ The Argo Project includes:
183
174
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.
184
175
Typically, new versions of Argo are available within 30 days of release in Argo.
185
176
186
-
{::nomarkdown}
187
-
<br><br>
188
-
{:/}
189
177
190
-
####Request Routing Service
178
+
179
+
###Request Routing Service
191
180
The Request Routing Service is installed on the same cluster as the GitOps Runtime in the customer environment.
192
181
It receives requests from the the Tunnel Client (tunnel-based) or the ingress controller (ingress-based), and forwards the request URLs to the Application Proxy, and webhooks directly to the Event Sources.
193
182
194
183
>Important:
195
184
The Request Routing Service is available from runtime version 0.0.543 and higher.
196
185
Older runtime versions are not affected as there is complete backward compatibility, and the ingress controller continues to route incoming requests.
197
186
198
-
####Tunnel Server
187
+
###Tunnel Server
199
188
Applies only to_tunnel-based_ Hybrid GitOps Runtimes.
200
189
The Codefresh Tunnel Server is installed in the Codefresh platform. It communicates with the enterprise cluster located behind a NAT or firewall.
201
190
@@ -204,11 +193,9 @@ The Tunnel Server:
204
193
* Manages the lifecycle of the Tunnel Client.
205
194
* Authenticates requests from the Tunnel Client to open tunneling connections.
206
195
207
-
{::nomarkdown}
208
-
<br>
209
-
{:/}
210
196
211
-
####Tunnel Client
197
+
198
+
###Tunnel Client
212
199
Applies only to_tunnel-based_ Hybrid GitOps Runtimes.
213
200
214
201
Installed on the same cluster as the Hybrid GitOps Runtime, the Tunnel Client establishes the tunneling connection to the Tunnel Server via the WebSocket Secure (WSS) protocol.
@@ -218,12 +205,9 @@ The Tunnel Client:
218
205
* Initiates the connection with the Tunnel Server.
219
206
* Forwards the incoming traffic from the Tunnel Server through the Request Routing Service to App-Proxy, and other services.
220
207
221
-
{::nomarkdown}
222
-
<br>
223
-
{:/}
224
208
225
209
226
-
####Customer environment
210
+
###Customer environment
227
211
The customer environment that communicates with the GitOps Runtime and Codefresh, generally includes:
228
212
* Ingress controller for ingress-based Hybrid runtimes
229
213
The ingress controller is configured on the same Kubernetes cluster as the GitOps Runtime, and implements the ingress traffic rules for the GitOps Runtime.
@@ -237,7 +221,8 @@ The customer environment that communicates with the GitOps Runtime and Codefresh
237
221
Organizational Systems include the customer's tracking, monitoring, notification, container registries, Git providers, and other systems. They can be entirely on-premises or in the public cloud.
238
222
Either the ingress controller (ingress hybrid environments), or the Tunnel Client (tunnel-based hybrid environments), forwards incoming events to the GitOps Application Proxy.