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
Codefresh automatically validates the`values.yaml` file before initiating the installation to verify that the supplied values are correct.
97
-
You also have the option to manually run the validation if desired.
98
95
96
+
###Step 1: Select Hybrid Runtime install option
99
97
100
-
**Validation failure**
101
-
102
-
If there is a validation failure, Codefresh will terminate the Helm installation and display the error message:`Job has reached the specified backoff limit`.
103
-
104
-
To get more detailed and meaningful information on the reason for the validation failure, run:
*`{NAMESPACE}` must be replaced with the namespace of the Hybrid GitOps Runtime.
108
-
109
-
**Disable automated validation**
110
-
You may want to disable automated validation for specific scenarios, such as to address false-negatives.
111
-
You can do so by either adding the flag to the Helm install command or adding the relevant section to the`values` file.
112
-
113
-
* In install command:
114
-
`--set installer.skipValidation=true`
115
-
116
-
* In`values` file:
117
-
118
-
{% highlight yaml %}
119
-
{% raw %}
120
-
...
121
-
122
-
installer:
123
-
skipValidation: true
124
-
125
-
...
126
-
{% endraw %}
127
-
{% endhighlight %}
128
-
129
-
130
-
**Validated settings**
131
-
132
-
The table below lists the settings validated in the`values` file.
133
-
134
-
{: .table .table-bordered .table-hover}
135
-
| Setting| Validation|
136
-
| --------------| --------------|
137
-
|**`userToken`**| If explicitly defined, or defined as a`secretKeyRef` which exists in the current k8s context and the defined namespace.|
138
-
|**Account permissions**| If the user has admin permissions for the account in which they are installing the runtime.|
139
-
|**Runtime name**| If defined, and is unique to the account.|
140
-
|**Access mode**| {::nomarkdown}<ul><li>For tunnel-based, the default, if <codeclass="highlighter-rouge">accountId</code> is defined, and matches the account of the <codeclass="highlighter-rouge">userToken</code> defined in the file.</li><li>For ingress-based, if the <codeclass="highlighter-rouge">hosts</code> array contains at least one entry that is a valid URL (successful HTTP GET).</li><li>If both tunnel-based and ingress-based access modes are disabled, if <codeclass="highlighter-rouge">runtime.ingressUrl</code> is defined.</li></ul>{:/}|
141
-
|**`gitCredentials`**| {::nomarkdown}<ul><li>When defined, includes a Git password either explicitly, or as a <codeclass="highlighter-rouge">secretKeyRef</code>, similar to <codeclass="highlighter-rouge">userToken</code>.</li><li>The password or token has the required permissions in the Git provider.</li></ul>{:/}|
*`<values_file>` is the name of the values.yaml used by the Helm installation.
151
-
*`<namespace>` is the namespace in which to install the Hybrid GitOps runtime, either the default`codefresh`, or the custom name you intend to use for the installation. The Namespace must conform to the naming conventions for Kubernetes objects.
152
-
*`<version>` is the version of the runtime to install.
1. In the Welcome page, select**+ Install Runtime**.
99
+
1. Continue with[Step 2: Set up GitOps Git provider](#step-2-set-up-gitops-git-provider).
154
100
155
-
###Step 2: Select Hybrid Runtime install option
101
+
###Step 2: Set up GitOps Git provider
102
+
As a one-time action, select the Git provider and the Shared Configuration Repository to associate with your account.
156
103
157
-
1. In the Welcome page, select**+ Install Runtime**.
158
-
1. Continue with[Step 3: Set up GitOps Git provider](#step-3-set-up-gitops-git-provider).
104
+
The Git provider you select for the first GitOps Runtime in your account is used for all the other Runtimes installed in the same account.
159
105
160
-
###Step 3: Set up GitOps Git provider
161
-
Select the Git provider and the Shared Configuration Repository to associate with your account.
106
+
The[Shared Configuration Repository]({{site.baseurl}}/docs/installation/gitops/shared-configuration/) is a Git repository with configuration manifests shared between all the Hybrid GitOps Runtimes within the same account.To change the Shared Configuration Repo after installation, see Reset Shared Configuration Repository.
162
107
163
-
The same Git provider is used for other GitOps Runtimes in the same account.
164
-
The[Shared Configuration Repository]({{site.baseurl}}/docs/installation/gitops/shared-configuration/) is a Git repository with configuration manifests shared between all the Hybrid GitOps Runtimes within the same account.
165
108
166
-
>**NOTE**:
167
-
This is a one-time action, required once per account.
168
109
169
110
1. Select the**Git provider** from the list.
170
111
1. Define the**API URL** for the Git provider you selected, as one of the following:
@@ -174,17 +115,18 @@ The [Shared Configuration Repository]({{site.baseurl}}/docs/installation/gitops/
174
115
* GitLab Server:`<server-url>/api/v4`
175
116
* Bitbucket Cloud:`https://api.bitbucket.org/2.0`
176
117
* Bitbucket Server:`<server-url>/rest/api/1.0`
177
-
1. Define the URL of the**Shared Configuration Repository**.
178
-
>**NOTE**:
179
-
>Because the Git provider and the Shared Configuration Repo are defined at the account-level, the Git provider you select for the first GitOps Runtime in your account is used for all the other Runtimes in the same account.
180
-
>To change the Shared Configuration Repo or Git credentials after installation, see[Reset Shared Configuration Repository]({{site.baseurl}}/docs/installation/gitops/monitor-manage-runtimes/#reset-shared-configuration-repository-for-gitops-runtimes) and[Update Git credentials]({{site.baseurl}}/docs/installation/gitops/monitor-manage-runtimes/#update-git-credentials-for-gitops-runtimes) for GitOps Runtimes.
118
+
1. Define the URL of the**Shared Configuration Repository**.
Install the Hybrid GitOps Runtime through the Helm chart. The Codefresh`values.yaml` is located[here](https://github.com/codefresh-io/gitops-runtime-helm/tree/main/charts/gitops-runtime){:target="\_blank"}.
187
125
126
+
>**TIP**:
127
+
Before initiating the installation, Codefresh automatically validates the `values.yaml` file to verify that the supplied values are correct.<br>
128
+
If the Helm installation is terminated with the error message:`Job has reached the specified backoff limit`, you can get more detailed and meaningful information on the reason for the validation failure, with:
129
+
`kubectl logs jobs/validate-values -n ${NAMESPACE}`, replacing`{NAMESPACE}` with the namespace of the Hybrid GitOps Runtime.
188
130
189
131
**Runtime Name**
190
132
If you define a custom name for the Hybrid GitOps Runtime, it must start with a lower-case character, and can include up to 62 lower-case characters and numbers.
@@ -200,7 +142,8 @@ You can define one of three different access modes:
200
142
201
143
See[Ingress controller configuration](/#ingress-controller-configuration) in this article.
202
144
203
-
<br>
145
+
146
+
<br><br>
204
147
205
148
**How to**
206
149
1. To generate your Codefresh API key, click**Generate**.
* The Hybrid GitOps Runtime you added is prefixed with a green dot indicating that it is online
289
232
* The Type column for the Runtime displays**Helm**
290
233
* The Sync Status column displays**Complete Installation**, indicating that there are pending tasks to complete the installation.
291
-
1. Continue with[Step5: Configure Git credentials for runtime](#step-5-configure-git-credentials-for-hybrid-gitops-runtime).
234
+
1. Continue with[Step4: Configure Git credentials for runtime](#step-4-configure-git-credentials-for-hybrid-gitops-runtime).
292
235
293
236
294
237
295
-
###Step5: Configure Git credentials for Hybrid GitOps Runtime
238
+
###Step4: Configure Git credentials for Hybrid GitOps Runtime
296
239
Configure Git credentials to authorize access to and ensure proper functioning of the GitOps Runtime. This is one of the two steps to complete installing Hybrid GitOps Runtimes, the other being to configure the Runtime as an Argo Application, described in the next step.
297
240
298
-
Git credentials include authorizing access to Git through OAuth2 or auser (personal) accesstoken, and optionally configuring SSH access to Git.
241
+
Git credentials include authorizing access to Git through OAuth2 or aGit Runtimetoken, and optionally configuring SSH access totheGit installation repo for the Runtime.
299
242
300
243
**Git authorization**
301
244
* OAuth2 authorization is possible if your admin has registered an OAuth Application for Codefresh. See[OAuth2 setup for Codefresh]({{site.baseurl}}/docs/administration/account-user-management/oauth-setup/).
302
-
* Git access token authentication requires you to generatea personal access token in your Git provider account for the GitOps Runtime, with the correct scopes. See[GitOps Runtime token scopes]({{site.baseurl}}/docs/reference/git-tokens/#git-runtime-token-scopes).
245
+
* Git access token authentication requires you to generatean access token in your Git provider account for the GitOps Runtime, with the correct scopes. See[GitOps Runtime token scopes]({{site.baseurl}}/docs/reference/git-tokens/#git-runtime-token-scopes).
303
246
304
247
**SSH access to Git**
305
-
By default, Git repositories use the HTTPS protocol. You can also use SSH to connect Git repositories by entering the SSH private key.
306
-
307
-
>When SSH is configured for a GitOps runtime, on creating/editing Git-Source applications, you can select HTTPS OR SSH as the protocol to connect to the Git repository. See[Repository URL in Application Source definitions]({{site.baseurl}}/docs/deployments/gitops/create-application/#source).
248
+
By default, Git repositories use the HTTPS protocol. You can also use SSH to connect Git repositories by entering the SSH private key.
249
+
When SSH is configured for a GitOps Runtime, on creating/editing Git-Source applications, you can select HTTPS OR SSH as the protocol to connect to the Git repository. See[Repository URL in Application Source definitions]({{site.baseurl}}/docs/deployments/gitops/create-application/#source).
308
250
309
251
For more information on generating SSH private keys, see the official documentation:
###Step6: (Optional) Configure Hybrid GitOps Runtime as Argo Application
295
+
###Step5: (Optional) Configure Hybrid GitOps Runtime as Argo Application
353
296
354
297
Configure the Hybrid GitOps Runtime as an Argo Application as the final step in the installation process.
355
298
By doing so, you can view the Runtime components, monitor health and sync statuses, and ensure that GitOps is the single source of truth for the Runtime.
@@ -359,17 +302,17 @@ You cannot configure the Runtime as an Argo Application if you have not configur
359
302
360
303
361
304
1. Click**Configure as Argo Application**. Codefresh takes care of the configuration for you.
362
-
1. Continue with[Step7: (Optional) Create a Git Source](#step-7-optional-create-a-git-source).
305
+
1. Continue with[Step6: (Optional) Create a Git Source](#step-6-optional-create-a-git-source).
363
306
364
307
365
308
366
-
###Step7: (Optional) Create a Git Source
309
+
###Step6: (Optional) Create a Git Source
367
310
Create a[Git Source]({{site.baseurl}}/docs/installation/gitops/git-sources/#create-a-git-source) for the Runtime.
Required only for ALB AWS, Istio, or NGINX Enterprise ingress-controllers.<br>
374
317
375
318
* Complete configuring these ingress controllers:
@@ -379,11 +322,11 @@ Required only for ALB AWS, Istio, or NGINX Enterprise ingress-controllers.<br>
379
322
380
323
That's it! You have successfully completed installing a Hybrid GitOps Runtime with Helm. View the Runtime in the[Runtimes]({{site.baseurl}}/docs/installation/gitops/monitor-manage-runtimes/#gitops-runtime-views) page.
381
324
382
-
**Post-installation configuration**
325
+
**What to do next**
383
326
384
327
Depending on your configuration, if you have private registries, you need to override specific image values, and if your Git servers are on-premises, you need to add custom repository certificates. See[Optional GitOps Runtime configuration](#optional-gitops-runtime-configuration) in this article.
385
328
386
-
You can now add[external clusters to the Runtime]({{site.baseurl}}/docs/installation/gitops/managed-cluster/), and[create and deploy GitOps applications]({{site.baseurl}}/docs/deployments/gitops/create-application/).
329
+
You can now add[Git Sources]({{site.baseurl}}/installation/gitops/git-sources/),[external clusters]({{site.baseurl}}/docs/installation/gitops/managed-cluster/), and[create and deploy GitOps applications]({{site.baseurl}}/docs/deployments/gitops/create-application/).
387
330
388
331
389
332
##Install additional GitOps Runtimes in account
@@ -392,10 +335,10 @@ The Codefresh `values.yaml` located [here](https://github.com/codefresh-io/gitop
392
335
393
336
394
337
**Git provider and Shared Configuration Repository**
395
-
The Git provider and Shared Configuration Repository, configured once per account,is alreadyavailable this setup in your initial installation,additional installations do not require this.
338
+
The Git provider and Shared Configuration Repository, configured once per account,has alreadybeen set up in your initial installation,and not required for additional installations.
396
339
397
340
**Access mode**
398
-
You can define the tunnel/ingress/service-mesh-based access mode for the additional GitOps Runtimes. The command in the How To below is valid for the tunnel-based access mode. For ingress-based or service-mesh-based access modes, add the required arguments and values, as described in the step-by-step section,[Step4: Install Hybrid GitOps Runtime](/#step-4-install-hybrid-gitops-runtime).
341
+
You can define the tunnel/ingress/service-mesh-based access mode for the additional GitOps Runtimes. The command in the How To below is valid for the tunnel-based access mode. For ingress-based or service-mesh-based access modes, add the required arguments and values, as described in the step-by-step section,[Step3: Install Hybrid GitOps Runtime](/#step-3-install-hybrid-gitops-runtime).
399
342
400
343
**Runtime name**
401
344
The new Runtime must have a unique name in the same account.
@@ -429,7 +372,7 @@ where:
429
372
*`--wait` waits until all the pods are up and running for the deployment.
430
373
431
374
432
-
**Post-installation configuration**
375
+
**What to do next**
433
376
434
377
Depending on your configuration, if you have private registries, you need to override specific image values, and if your Git servers are on-premises, you need to add custom repository certificates. See[Optional GitOps Runtime configuration](#optional-gitops-runtime-configuration) in this article.
Feel free to user a different chart version and a unique name for the Runtime. You can get the values for both the Codefresh API token and account ID from the Codefresh UI as explained in the previous section.
472
415
473
-
The example is valid for the tunnel-based access mode. For ingress-based or service-mesh-based access modes, add the required arguments and values, as described in the step-by-step section,[Step4: Install Hybrid GitOps Runtime](/#step-4-install-hybrid-gitops-runtime).
416
+
The example is valid for the tunnel-based access mode. For ingress-based or service-mesh-based access modes, add the required arguments and values, as described in the step-by-step section,[Step3: Install Hybrid GitOps Runtime](/#step-3-install-hybrid-gitops-runtime).
474
417
475
418
Depending on your configuration, if you have private registries, you need to override specific image values, and if your Git servers are on-premises, you need to add custom repository certificates. See[Optional GitOps Runtime configuration](#optional-gitops-runtime-configuration) in this article.
476
419
477
-
By default, theCodefresh Runtime can deploy to the cluster it is installed on.
478
-
You can also[use Terraform to connect additional]({{site.baseurl}}/docs/installation/gitops/managed-cluster/#add-a-managed-cluster-with-terraform) external clusters to yourruntime.
420
+
By default, theGitOps Runtime can deploy to the cluster it is installed on.
421
+
You can also[use Terraform to connect additional]({{site.baseurl}}/docs/installation/gitops/managed-cluster/#add-a-managed-cluster-with-terraform) external clusters to yourRuntime.