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/hybrid-gitops-helm-installation.md
+41-64Lines changed: 41 additions & 64 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -434,9 +434,11 @@ You can now add [external clusters]({{site.baseurl}}/docs/installation/gitops/ma
434
434
435
435
436
436
## Install additional GitOps Runtimes in account
437
-
Install additional Hybrid GitOps Runtimes on different clusters within the same account.
437
+
Install additional Hybrid GitOps Runtimes on different clusters within the same account. Copy and run the Helm install command either from the UI or a terminal, and complete the installation following the prompts in the UI. Codefresh validates each Runtime installation and guides you through the tasks to complete the installation for a fully functional GitOps Runtime.
438
+
438
439
The Codefresh `values.yaml` located [here](https://github.com/codefresh-io/gitops-runtime-helm/blob/main/charts/gitops-runtime/){:target="\_blank"}, contains all the arguments you can configure, including optional ones.
439
440
441
+
## Step1: Copy & run Helm install command
440
442
441
443
**Git provider and Shared Configuration Repository**
442
444
The Git provider and Shared Configuration Repository is configured once per account, and are not required for additional installations for the same account.
@@ -450,7 +452,6 @@ The name of the Runtime must be unique in the same account.
450
452
451
453
**How to**
452
454
453
-
<!--- 1. In the Codefresh UI, go to [Install Hybrid GitOps Runtime](https://g.codefresh.io/2.0/account-settings/runtimes/info/list?drawer=install-codefresh-runtime){:target="\_blank"}.-->
454
455
1. In the Codefresh UI, on the toolbar, click the **Settings** icon, and from Runtimes in the sidebar, select [**GitOps Runtimes**](https://g.codefresh.io/2.0/account-settings/runtimes){:target="\_blank"}.
455
456
1. Click **+ Add Runtimes**, and then select **Hybrid Runtimes**.
456
457
1. Copy the command in _Step 4_ and define the values that are not automatically populated.
@@ -474,9 +475,27 @@ max-width="40%"
474
475
*`<helm-repo-chart-name>` is the name of the repo in which to add the Helm chart, and is either `cf-gitops-runtime` which is the default, or any custom name you define.
475
476
*`--wait` waits until all the pods are up and running for the deployment.
476
477
477
-
{:start="4"}
478
-
1. Configure Git credentials to authorize access to and ensure proper functioning of the GitOps Runtime:
479
-
1. In the Sync Status column for the Runtime you just installed, click **Complete Installation**.
478
+
479
+
### Step 2: Complete GitOps Runtime installation
480
+
Complete Runtime installation by configure Git credentials to authorize access to and ensure proper functioning of the GitOps Runtime, and to authorize actions on your Git repositories. The final step is to configure the Runtime as an Argo Application.
481
+
482
+
**Git Runtime token**
483
+
You can use the same token you used for the first Runtime.
484
+
485
+
**Git user token**
486
+
The Git user token is a personal access token unique to every user. The permissions for the Git user token are different from those of the Git Runtime token.
487
+
Verify that you have an access token from your Git provider with the correct scopes.
488
+
489
+
**Configure as Argo CD application**
490
+
Configuring the Runtime an an Argo CD application to view the Runtime components, monitor health and sync statuses, and ensure that GitOps is the single source of truth for the Runtime.
491
+
492
+
493
+
1. In the Codefresh UI, go to the [Runtimes](https://g.codefresh.io/2.0/account-settings/runtimes/info/list){:target="\_blank"} page.
494
+
* The name of the Hybrid GitOps Runtime you added is prefixed with a red dot indicating that it is offline
495
+
* The Sync Status column displays **Complete Installation**, indicating that there are pending steps to complete the installation.
496
+
1. Click the Runtime name or click **Complete Installation**.
497
+
Codefresh displays the steps needed to complete the installation.
498
+
1. Click **Git Runtime token** to configure Git credentials for the GitOps Runtime:
480
499
1. For OAuth authorization:
481
500
* Click **Authorize Access to Git Provider**.
482
501
* Enter your credentials, and select **Sign In**.
@@ -493,14 +512,17 @@ max-width="40%"
493
512
caption="Authorizing access with OAuth2"
494
513
max-width="30%"
495
514
%}
496
-
1. Go back to the List view and click **Configure as Argo Application**. Codefresh takes care of the configuration for you.
515
+
1. Click **Git user token** to add your personal access token to authorize actions to Git repositories:
516
+
???
517
+
1. In **Configure as Argo Application**, click **Configure**. Codefresh takes care of the configuration for you.
497
518
1. For GitOps with Argo CD, after confirming successful installation, remove the duplicate Argo Rollouts controller `deployment` to avoid having two controllers in the cluster.
519
+
498
520
>**IMPORTANT**:
499
521
Make sure to remove only the `deployment` and not the CRDs. Removing the CRDs also removes Rollout objects resulting in downtime for workloads.
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.
505
527
506
528
You can now add [Git Sources]({{site.baseurl}}/docs/installation/gitops/git-sources), [external clusters]({{site.baseurl}}/docs/installation/gitops/managed-cluster/), [create and deploy GitOps applications]({{site.baseurl}}/docs/deployments/gitops/create-application/).
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.
542
564
543
-
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, [Step 3: Install Hybrid GitOps Runtime](#step-3-install-hybrid-gitops-runtime).
565
+
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 [Step 3: Install Hybrid GitOps Runtime](#step-3-install-hybrid-gitops-runtime).
544
566
545
567
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.
546
568
@@ -587,6 +609,10 @@ Because this allows you to completely and seamlessly manage the applications in
587
609
588
610
589
611
The process to migrate an Argo CD Application is simple:
612
+
1. Add a Git Source to the Runtime to which store application manifests
613
+
1. Make the needed configuration changes in the Argo CD Application
614
+
1. Commit the application to the Git Source for viewing and management in Codefresh
615
+
590
616
591
617
### Step 1: Add a Git Source to GitOps Runtime
592
618
@@ -600,9 +626,12 @@ Read about [Git Sources]({{site.baseurl}}/docs/installation/gitops/git-sources/)
600
626
601
627
### Step 2: Modify Argo CD Application
602
628
603
-
In this step, you'll modify the Argo CD Application's manifest to remove `finalizers`, if any, and also remove the Application from the `argocd``namespace` it is assigned to by default.
629
+
Modify the Argo CD Application's manifest to remove `finalizers`, if any, and also remove the Application from the `argocd``namespace` it is assigned to by default.
630
+
631
+
* Remove `metadata.namespace: argocd`.
632
+
* Remove `metadata.finalizers`.
604
633
605
-
Here's an example of a manifest for an Argo CD Application with `finalizers`.
634
+
Below is an example of a manifest for an Argo CD Application with `finalizers`.
606
635
607
636
```yaml
608
637
apiVersion: argoproj.io/v1alpha1
@@ -622,77 +651,25 @@ spec:
622
651
project: default # Replace 'default' with the name of the Argo CD project you want to use
623
652
```
624
653
625
-
* Remove `metadata.namespace: argocd`.
626
-
* Remove `metadata.finalizers`.
627
-
628
-
629
654
630
655
### Step 3: Commit the application to the Git Source
631
-
As the final step in migrating your Argo CD Application to a Codefresh GitOps one, you'll manually commit the updated Application manifest to the Git Source you created in Step 1.
632
-
Once you commit the manifest to the Git Source, it becomes a GitOps application. You can view it in the Codefresh UI, modify definitions, track it through our different dashboards - in short, manage it as would any GitOps resource in Codefresh.
656
+
As the final step in migrating your Argo CD Application to a Codefresh GitOps one, manually commit the updated Application manifest to the Git Source you created in Step 1.
657
+
Once you commit the manifest to the Git Source, it becomes a GitOps application. You can view it in the Codefresh UI, modify definitions, track it through our different dashboards, and in short, manage it as you would any GitOps resource in Codefresh.
633
658
634
659
1. Go to the Git repo where you created the Git Source.
635
660
1. Add and commit the Argo CD Application manifest.
If you use private registries, you must override specific image values for the different subcharts and container images.
670
-
Our utility helps override image values for GitOps Runtimes by creating `values` files that match the structure of the subcharts, allowing you to easily replace image registries. During chart installation, you can provide these `values` files to override the images, as needed.
671
-
For more details, see [ArtifactHub](https://artifacthub.io/packages/helm/codefresh-gitops-runtime/gitops-runtime#using-with-private-registries---helper-utility){:target="\_blank"}.
672
-
673
-
### Custom repository certificates
674
-
675
-
Repository certificates are required to authenticate users to on-premises Git servers.
676
-
677
-
If your Git servers are on-premises, add the repository certificates to your Codefresh `values` file, in `.values.argo-cd`. These values are used by the Argo CD that Codefresh deploys. For details on adding repository certificates, see this [section](https://github.com/codefresh-io/argo-helm/blob/argo-cd-5.29.2-cap-CR-18430/charts/argo-cd/values.yaml#LL336C7-L336C7){:target="\_blank"}.
678
672
679
-
{% highlight yaml %}
680
-
global:
681
-
codefresh:
682
-
tls:
683
-
caCerts:
684
-
# optional - use an existing secret that contains the cert
0 commit comments