Skip to content

Commit 218ad03

Browse files
committed
Update hybrid-gitops-helm-installation.md
Content updates
1 parent 2e1f531 commit 218ad03

File tree

1 file changed

+40
-27
lines changed

1 file changed

+40
-27
lines changed

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

Lines changed: 40 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,15 @@ We have transitioned to a Helm-based installation for Hybrid GitOps Runtimes for
1313
The [CLI-based installation for Hybrid GitOps]({{site.baseurl}}/docs/installation/gitops/hybrid-gitops/) is now considered legacy.
1414
We will deprecate this installation mode permanently in the coming months. Please stay tuned for further updates and instructions, including the migration process.
1515

16-
Hybrid GitOps Runtime offers two installation options via Helm, each catering to specific use cases:
16+
Hybrid GitOps Runtime via Helm offers two installation flavors, each catering to specific use cases:
1717

1818
* **Side-by-Side installation: Native Argo CD and GitOps**
19-
This installation option combines Argo CD and GitOps Runtime in a side-by-side setup, suitable for environments where you already have Argo CD installed on your cluster, and want to extend it with GitOps capabilities.
19+
This flavor combines Argo CD and GitOps Runtime in a side-by-side setup, suitable for environments where you already have Argo CD installed on your cluster, and want to extend it with GitOps capabilities.
2020
Side-by-Side GitOps installation provides seamless integration of both Native Argo CD and GitOps Runtime features in a single cluster.
2121

2222
* **Dedicated GitOps installation**
23-
This installation option is solely on GitOps Runtime .
24-
Suitable for environments where you want to deploy GitOps Runtime on your cluster without any pre-existing Argo CD installation.
25-
Dedicated GitOps installation also installs the Argo project components but as .
23+
This flavor focuses solely on GitOps, suitable for environments where you want to deploy GitOps Runtime on your cluster without Argo CD.
24+
Dedicated GitOps installation installs Argo project components as part of the installation process .
2625

2726

2827
Choose the installation option that best aligns with your specific requirements and current environment setup. Whichever option you choose, review the table listing the prerequisites for each installation method, and then follow the detailed instructions as needed.
@@ -34,36 +33,36 @@ For step-by-step installation from the Codefresh UI, see [Step-by-step Hybrid Gi
3433
## Preparing for Hybrid GitOps installation
3534

3635

37-
| Prerequisite | Side-by-Side | Dedicated |
36+
| Option | Side-by-Side | Dedicated |
3837
|------------------------------------- |:------------:|:-------------:|
3938
| ArgoCD password<br>**WARNING**: Avoid changing the ArgoCD password using the `argocd-initial-admin-secret` via the ArgoCD UI. Doing so can cause system instability and disrupt the Codefresh platform. |||
40-
| Argo project components<br>Dedicated GitOps requires a cluster without Argo project components, including Argo Rollouts, Argo CD, Argo Events, and Argo Workflows. | N/A ||
41-
| [Minor versions](#minor-versions)<br>Chart version must match the upstream version used by Codefresh. || N/A |
42-
| [Argo project CRDs](#argo-project-crds)<br>Recommended that the GitOps Runtime Helm chart adopts and manages CRDs, either all the CRDs or only Argo Rollout CRDs. |||
43-
| [Image overrides for private registries](#image-overrides-for-private-registries)<br>Override image values for subcharts and container images when using private registries. || |
44-
| [Custom repository certificates](#custom-repository-certificates)<br>Authenticate on-premises Git servers using repository certificates. | | |
45-
| [fullnameOverride for resources](#side-by-side-fullnameoverride-for-resources)<br>Avoid conflicts when multiple instances of the same resources have the same name or attempt to control the same objects. || N/A |
46-
| [`label` versus `annotation` for resource tracking](#side-by-side-label-versus-annotation-for-resource-tracking)<br>Use different methods to track native ArgoCD's and GitOps Runtime's ArgoCD resources. | | N/A |
39+
| (Mandatory)Argo project components<br>Dedicated GitOps requires a cluster without Argo project components, including Argo Rollouts, Argo CD, Argo Events, and Argo Workflows. | N/A ||
40+
| [(Manadatory)Minor versions](#minor-versions)<br>Chart version must match the upstream version used by Codefresh. || N/A |
41+
| [(Recommended) Argo project CRDs(Custom Resource Definitions)](#argo-project-crds)<br>Recommended that the GitOps Runtime Helm chart adopts and manages CRDs, either all the CRDs or only Argo Rollout CRDs. |||
42+
| [(Manadatory) fullnameOverride for resources](#side-by-side-fullnameoverride-for-resources)<br>Avoid conflicts when multiple instances of the same resources have the same name or attempt to control the same objects. || N/A |
43+
| [(Recommended) `label` and `annotation` for resource tracking](#side-by-side-label-versus-annotation-for-resource-tracking)<br>Use different methods to track native ArgoCD's and GitOps Runtime's ArgoCD resources. | | N/A |
44+
| [(Optional)Image overrides for private registries](#image-overrides-for-private-registries)<br>Override image values for subcharts and container images when using private registries. || |
45+
| [(Optional) Custom repository certificates](#custom-repository-certificates)<br>Authenticate on-premises Git servers using repository certificates. | | |
4746

4847

4948

5049
### Side-by-Side: Minor versions
5150
For Side-by-Side installation, use the same upstream chart version of ArgoCD as Codefresh.
5251

53-
To get the Codefresh chart version of ArgoCD, check the `dependencies` section in the GitOps Runtime chart for <upstream chart version>-<codefresh-version id>.
52+
Check the `dependencies` section in the GitOps Runtime chart for the Codefresh chart version of ArgoCD in the format <upstream chart version>-<codefresh-version id>.
5453

5554
### Argo project CRDs
5655
You can handle Argo project CRDs outside the chart, or as recommended, adopt the CRDs to be managed by the GitOps Runtime Helm release. Allowing the Runtime to manage the CRDs also ensures that the CRDs are automatically upgraded whenever the Runtime is upgraded.
5756

5857
If you already have Argo project CRDs on your cluster, you have two options:
5958

6059
#### Handle Argo project CRDs outside of the chart
61-
See [Argo's readme on Helm charts](https://github.com/argoproj/argo-helm/blob/main/README.md){:target="\_blank"}.
62-
63-
Disable CRD installation under the relevant section for each of the Argo projects in the Helm chart:<br>
60+
Disable CRD installation under the relevant section for each of the Argo projects in the Helm chart:<br>
6461
`--set <argo-project>.crds.install=false`<br>
6562
where:<br>
6663
`<argo-project>` is the argo project component: `argo-cd`, `argo-workflows`, `argo-rollouts` and `argo-events`.
64+
65+
See [Argo's readme on Helm charts](https://github.com/argoproj/argo-helm/blob/main/README.md){:target="\_blank"}.
6766

6867
#### Adopt the Argo project CRDs
6968
You can either adopt all CRDs which is the recommended option, or only Argo Rollout CRDs.
@@ -77,9 +76,7 @@ curl https://raw.githubusercontent.com/codefresh-io/gitops-runtime-helm/main/scr
7776
```
7877

7978
**Option 2: Adopt only Argo Rollout CRDs**
80-
You can also adopt only those CRDs that apply to Argo Rollouts.
81-
82-
We highly recommend allowing the GitOps Runtime to control manage the CRDs as there should be only one active Argo Rollouts controller active on the Runtime cluster.
79+
You can also adopt only those CRDs that apply to Argo Rollouts. Adopting Argo Rollouts CRDs ensures that there is only one active Argo Rollouts controller active on the Runtime cluster which is recommended.
8380
```
8481
#!/bin/sh
8582
RELEASE=<runtime-helm-release-name>
@@ -125,12 +122,12 @@ argo-cd:
125122
cm:
126123
application.resourceTrackingMethod: annotation #annotation+label is also valid
127124
```
128-
### Image overrides for private registries
125+
### (Optional) Image overrides for private registries
129126
If you use private registries, you must override specific image values for the different subcharts and container images.
130127
We have a utility to help override image values for GitOps Runtimes, which creates 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.
131128
For more details, see [ArtifactHub](https://artifacthub.io/packages/helm/codefresh-gitops-runtime/gitops-runtime#using-with-private-registries---helper-utility){:target="\_blank"}.
132129

133-
### Custom repository certificates
130+
### (Optional) Custom repository certificates
134131

135132
On-premises Git servers require repository certificates to authenticate users.
136133

@@ -167,7 +164,7 @@ The Codefresh `values.yaml` is located [here](https://github.com/codefresh-io/gi
167164
Quick installation assumes that:
168165
* You have set up a Git provider and the Shared Configuration Repository for your account. If these are not defined, you can define them _after_ installation from the Codefresh UI, when prompted to do so.
169166
See [Update Git credentials for GitOps Runtimes]({{site.baseurl}}/docs/installation/gitops/monitor-manage-runtimes/#update-git-credentials-for-gitops-runtimes) and [Shared Configuration Repository]({{site.baseurl}}/docs/installation/gitops/shared-configuration/).
170-
* Your cluster does not have [Argo project components & CRDs](#argo-project-components--crds).
167+
* You have [reviewed and implemented the prerequisites] based on the installation scenario you chose.
171168

172169

173170
**Automated validation**
@@ -208,7 +205,18 @@ where:
208205
* `<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.
209206
* `--wait` waits until all the pods are up and running for the deployment.
210207

208+
### After running quick install
209+
210+
For _Side-by-Side installation only_:
211+
212+
* **Remove Rollouts controller deployment**
213+
After confirming successful installation, remove the duplicate Argo Rollouts controller deployment to avoid having two controllers in the cluster.
211214

215+
>**IMPORTANT**:
216+
Make sure to remove only the `deployment` and not the CRDs. Removing the CRDs also removes Rollout objects and causes downtime for workloads.
217+
218+
* **Migrate existing Argo CD applications to GitOps**
219+
To commit applications to Git Sources,
212220

213221

214222

@@ -553,13 +561,16 @@ You cannot configure the Runtime as an Argo Application if you have not configur
553561
Create a [Git Source]({{site.baseurl}}/docs/installation/gitops/git-sources/#create-a-git-source) for the Runtime.
554562

555563
1. Optional. Create a Git Source.
556-
1. Continue with [Step 8: Side-by-side: Remove Rollouts controller deployment](#step-8-side-by-side-remove-rollouts-controller-deployment).
564+
1. Continue with [Step 8: (Optional) Remove Rollouts controller deployment](#step-8-side-by-side-remove-rollouts-controller-deployment.
557565

558-
### Step 8: Side-by-side: Remove Rollouts controller deployment
559-
After confirming successful installation, remove the duplicate Argo Rollouts controller deployment to avoid having two controllers in the cluster.
566+
### Step 8: (Optional) Remove Rollouts controller deployment
567+
For Side-by-Side installations, after confirming successful installation, remove the duplicate Argo Rollouts controller deployment to avoid having two controllers in the cluster.
560568

561569
>**IMPORTANT**:
562570
Make sure to remove only the `deployment` and not the CRDs. Removing the CRDs also removes Rollout objects and cause downtime for workloads.
571+
572+
1. Remove the duplicate Argo Rollouts controller:
573+
`kubectl delete deployment <argo-rollouts-controller-name> -n <argo-rollouts-controller-namespace>`
563574
1. Continue with [Step 9: (Optional) Configure ingress-controllers](#step-9-optional-configure-ingress-controllers).
564575

565576
### Step 9: (Optional) Configure ingress-controllers
@@ -572,7 +583,9 @@ Required only for ALB AWS, Istio, or NGINX Enterprise ingress-controllers.<br>
572583

573584
That's it! You have successfully completed installing a Hybrid GitOps Runtime with Helm. See the Runtime in the [Runtimes]({{site.baseurl}}/docs/installation/gitops/monitor-manage-runtimes/#gitops-runtime-views) page.
574585

575-
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/).
586+
You can now add [external clusters to the Runtime]({{site.baseurl}}/docs/installation/gitops/managed-cluster/), for Side-by-Side, migrate existing Argo CD applications to GitOps, and [create and deploy GitOps applications]({{site.baseurl}}/docs/deployments/gitops/create-application/).
587+
588+
576589

577590

578591
## Minimum system requirements

0 commit comments

Comments
 (0)