Skip to content

Commit 36a9805

Browse files
committed
Update hybrid-gitops-helm-installation.md
Updated additional runtime install section with new widget guided install
1 parent 3926316 commit 36a9805

File tree

1 file changed

+41
-64
lines changed

1 file changed

+41
-64
lines changed

_docs/installation/gitops/hybrid-gitops-helm-installation.md

Lines changed: 41 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -434,9 +434,11 @@ You can now add [external clusters]({{site.baseurl}}/docs/installation/gitops/ma
434434

435435

436436
## 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+
438439
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.
439440

441+
## Step1: Copy & run Helm install command
440442

441443
**Git provider and Shared Configuration Repository**
442444
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.
450452

451453
**How to**
452454

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"}.-->
454455
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"}.
455456
1. Click **+ Add Runtimes**, and then select **Hybrid Runtimes**.
456457
1. Copy the command in _Step 4_ and define the values that are not automatically populated.
@@ -474,9 +475,27 @@ max-width="40%"
474475
* `<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.
475476
* `--wait` waits until all the pods are up and running for the deployment.
476477

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:
480499
1. For OAuth authorization:
481500
* Click **Authorize Access to Git Provider**.
482501
* Enter your credentials, and select **Sign In**.
@@ -493,14 +512,17 @@ max-width="40%"
493512
caption="Authorizing access with OAuth2"
494513
max-width="30%"
495514
%}
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.
497518
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+
498520
>**IMPORTANT**:
499521
Make sure to remove only the `deployment` and not the CRDs. Removing the CRDs also removes Rollout objects resulting in downtime for workloads.
500522
`kubectl delete deployment <argo-rollouts-controller-name> -n <argo-rollouts-controller-namespace>`
501523

502524

503-
**What to do next**
525+
### What to do next
504526
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.
505527

506528
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/).
@@ -540,7 +562,7 @@ resource "helm_release" "my_gitops_runtime" {
540562

541563
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.
542564

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).
544566

545567
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.
546568

@@ -587,6 +609,10 @@ Because this allows you to completely and seamlessly manage the applications in
587609

588610

589611
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+
590616

591617
### Step 1: Add a Git Source to GitOps Runtime
592618

@@ -600,9 +626,12 @@ Read about [Git Sources]({{site.baseurl}}/docs/installation/gitops/git-sources/)
600626

601627
### Step 2: Modify Argo CD Application
602628

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`.
604633

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`.
606635

607636
```yaml
608637
apiVersion: argoproj.io/v1alpha1
@@ -622,77 +651,25 @@ spec:
622651
project: default # Replace 'default' with the name of the Argo CD project you want to use
623652
```
624653
625-
* Remove `metadata.namespace: argocd`.
626-
* Remove `metadata.finalizers`.
627-
628-
629654
630655
### 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.
633658
634659
1. Go to the Git repo where you created the Git Source.
635660
1. Add and commit the Argo CD Application manifest.
636661
637662
Here is an example:
638663
639664
```hcl
640-
resource "helm_release" "my_gitops_runtime" {
641-
name = "my-codefresh-runtime"
642665

643-
repository = "https://chartmuseum.codefresh.io/gitops-runtime"
644-
chart = "gitops-runtime"
645-
namespace = "my-codefresh-runtime"
646-
version = "0.2.14"
647-
create_namespace = true
648-
set {
649-
name = "global.codefresh.accountId"
650-
value = var.cf_account_id
651-
}
652-
set {
653-
name = "global.codefresh.userToken.token"
654-
value = var.cf_token
655-
}
656-
set {
657-
name = "global.runtime.name"
658-
value = "from-terraform"
659-
}
660-
}
661666
```
662667

663668

664669

665670

666-
## Optional GitOps Runtime configuration
667671

668-
### Image overrides for private registries
669-
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"}.
678672

679-
{% highlight yaml %}
680-
global:
681-
codefresh:
682-
tls:
683-
caCerts:
684-
# optional - use an existing secret that contains the cert
685-
# secretKeyRef:
686-
# name: my-certificate-secret
687-
# key: ca-bundle.crt
688-
# or create "codefresh-tls-certs" secret
689-
secret:
690-
create: true
691-
content: |
692-
-----BEGIN CERTIFICATE-----
693-
...
694-
-----END CERTIFICATE-----
695-
{% endhighlight yaml %}
696673

697674
## Minimum system requirements
698675

0 commit comments

Comments
 (0)