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
+40-27Lines changed: 40 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,16 +13,15 @@ We have transitioned to a Helm-based installation for Hybrid GitOps Runtimes for
13
13
The [CLI-based installation for Hybrid GitOps]({{site.baseurl}}/docs/installation/gitops/hybrid-gitops/) is now considered legacy.
14
14
We will deprecate this installation mode permanently in the coming months. Please stay tuned for further updates and instructions, including the migration process.
15
15
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:
17
17
18
18
***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.
20
20
Side-by-Side GitOps installation provides seamless integration of both Native Argo CD and GitOps Runtime features in a single cluster.
21
21
22
22
***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 .
26
25
27
26
28
27
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
| 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. | ✅ |✅|
|[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. | ✅ |✅|
For Side-by-Side installation, use the same upstream chart version of ArgoCD as Codefresh.
52
51
53
-
To get the Codefresh chart version of ArgoCD, check the `dependencies` section in the GitOps Runtime chart for <upstreamchartversion>-<codefresh-versionid>.
52
+
Check the `dependencies` section in the GitOps Runtime chart for the Codefresh chart version of ArgoCD in the format <upstreamchartversion>-<codefresh-versionid>.
54
53
55
54
### Argo project CRDs
56
55
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.
57
56
58
57
If you already have Argo project CRDs on your cluster, you have two options:
59
58
60
59
#### 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>
64
61
`--set <argo-project>.crds.install=false`<br>
65
62
where:<br>
66
63
`<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"}.
67
66
68
67
#### Adopt the Argo project CRDs
69
68
You can either adopt all CRDs which is the recommended option, or only Argo Rollout CRDs.
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.
83
80
```
84
81
#!/bin/sh
85
82
RELEASE=<runtime-helm-release-name>
@@ -125,12 +122,12 @@ argo-cd:
125
122
cm:
126
123
application.resourceTrackingMethod: annotation #annotation+label is also valid
127
124
```
128
-
### Image overrides for private registries
125
+
### (Optional) Image overrides for private registries
129
126
If you use private registries, you must override specific image values for the different subcharts and container images.
130
127
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.
131
128
For more details, see [ArtifactHub](https://artifacthub.io/packages/helm/codefresh-gitops-runtime/gitops-runtime#using-with-private-registries---helper-utility){:target="\_blank"}.
132
129
133
-
### Custom repository certificates
130
+
### (Optional) Custom repository certificates
134
131
135
132
On-premises Git servers require repository certificates to authenticate users.
136
133
@@ -167,7 +164,7 @@ The Codefresh `values.yaml` is located [here](https://github.com/codefresh-io/gi
167
164
Quick installation assumes that:
168
165
* 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.
169
166
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.
171
168
172
169
173
170
**Automated validation**
@@ -208,7 +205,18 @@ where:
208
205
*`<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.
209
206
*`--wait` waits until all the pods are up and running for the deployment.
210
207
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.
211
214
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,
212
220
213
221
214
222
@@ -553,13 +561,16 @@ You cannot configure the Runtime as an Argo Application if you have not configur
553
561
Create a [Git Source]({{site.baseurl}}/docs/installation/gitops/git-sources/#create-a-git-source) for the Runtime.
554
562
555
563
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.
For Side-by-Side installations, after confirming successful installation, remove the duplicate Argo Rollouts controller deployment to avoid having two controllers in the cluster.
560
568
561
569
>**IMPORTANT**:
562
570
Make sure to remove only the `deployment` and not the CRDs. Removing the CRDs also removes Rollout objects and cause downtime for workloads.
@@ -572,7 +583,9 @@ Required only for ALB AWS, Istio, or NGINX Enterprise ingress-controllers.<br>
572
583
573
584
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.
574
585
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/).
0 commit comments