Skip to content

Commit 6dd950b

Browse files
authored
Update hybrid helm installation (#732)
* Update hybrid helm installation Added section on repo certs for on-prem git servers, and more info with UI link for copying auto-populated values * Update hybrid-gitops-helm-installation.md * Update hybrid-gitops-helm-installation.md
1 parent a7e5ddc commit 6dd950b

File tree

2 files changed

+81
-24
lines changed

2 files changed

+81
-24
lines changed

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

Lines changed: 81 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,27 +19,29 @@ Install the Hybrid GitOps Runtime via Helm with the default tunnel-based access
1919

2020
The Codefresh `values.yaml` is located [here](https://github.com/codefresh-io/gitops-runtime-helm/blob/main/charts/gitops-runtime/){:target="\_blank"}.
2121

22-
> **NOTE**:
23-
Quick Helm install assumes:
24-
* 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.
25-
* Your cluster does not have [Argo project CRDs](#argo-project-crds).
26-
27-
28-
29-
* Run:
30-
`helm upgrade --install <helm-release-name> --create-namespace --namespace <namespace> --set global.codefresh.userToken.token=<codefresh-api-key> --set global.runtime.name=<runtime-name> <helm-repo-name>/gitops-runtime --set --devel --wait`
31-
32-
>**NOTE**:
33-
Unless otherwise indicated, values are automatically populated by Codefresh.
34-
If you're using a terminal, remember to copy the values from the UI beforehand.<br>
35-
36-
where:
37-
* `<helm-release-name>` is the name of the Helm release.
38-
* `<namespace>` is the namespace in which to install the Hybrid GitOps runtime, either `codefresh`, or the custom name you defined.
39-
* `<codefresh-api-key>` is the generated API key.
40-
* `<runtime-name>` is the name of the runtime, either `codefresh`, or the custom name you defined.
41-
* `gitops-runtime` is the chart name defined by Codefresh.
42-
* `--wait` waits until all the pods are up and running for the deployment.
22+
### Before running quick install
23+
24+
**Notes & assumptions**
25+
Quick installation assumes that:
26+
* 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.
27+
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-repo/)
28+
* Your cluster does not have [Argo project CRDs](#argo-project-crds).
29+
30+
**Copy automatically populated values from Codefresh UI**
31+
For quick installation from a terminal, required values such as Helm release and chart names, as well as the Codefresh account ID for default tunnel-based installation, are automatically generated by Codefresh within the UI. Copy the automatically populated values you need from the UI.
32+
33+
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"}.
34+
1. Copy the required values from Step 4 as shown in the example below.
35+
36+
{% include
37+
image.html
38+
lightbox="true"
39+
file="/images/runtime/hybrid-helm-quick-install-copy-values.png"
40+
url="/images/runtime/hybrid-helm-quick-install-copy-values.png"
41+
alt="Copy automatically populated values from UI"
42+
caption="Copy automatically populated values from UI"
43+
max-width="40%"
44+
%}
4345

4446
**Automated validation**
4547
Codefresh automatically validates the `values` file before initiating the installation. If there is a validation failure, Codefresh terminates the installation.
@@ -52,6 +54,35 @@ To disable automated validation, add `--set installer.skipValidation=true` to th
5254

5355
For more details, see [Step 1: (Optional) Validate Helm values file](#step-1-optional-validate-helm-values-file) in this article.
5456

57+
### Quick install command
58+
59+
>**IMPORTANT**:
60+
Before running the installation command in the terminal, make sure to copy the automatically populated values from the UI. See **Copy automatically populated values from Codefresh UI** in the previous section.
61+
62+
63+
{% highlight yaml %}
64+
helm upgrade --install <helm-release-name> \
65+
--create-namespace \
66+
--namespace <namespace> \
67+
--set global.codefresh.accountId=<codefresh-account-id> \
68+
--set global.codefresh.userToken.token=<codefresh-api-key> \
69+
--set global.runtime.name=<runtime-name> \
70+
<helm-repo-name>/gitops-runtime \
71+
--devel \
72+
--wait
73+
{% endhighlight yaml %}
74+
75+
where:
76+
* `<helm-release-name>` is the name of the Helm release that you define.
77+
* `<namespace>` is the namespace in which to install the Hybrid GitOps runtime, and is either `codefresh` which is the default, or any custom name you define.
78+
* `<codefresh-account-id>` is mandatory only for _tunnel-based Hybrid GitOps Runtimes_ which is also the default access mode. Automatically generated by Codefresh. Copy it from the Codefresh UI.
79+
* `<codefresh-api-key>` is an existing or generated API key. If generated, copy it from the Codefresh UI.
80+
* `<runtime-name>` is the name of the runtime, either `codefresh` which is the default, or a custom name you define.
81+
* `<helm-repo-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.
82+
* `--wait` waits until all the pods are up and running for the deployment.
83+
84+
85+
5586
## Argo project CRDs
5687
Hybrid GitOps installation requires a cluster without Argo project CRDs.
5788
You can handle Argo project CRDs outside the chart, or as recommended, adopt the CRDs to be managed by the GitOps Runtime Helm release.
@@ -82,6 +113,31 @@ If you use private registries, you need to override specific image values for th
82113
We have a utility to help override image values for GitOps Runtimes. The utility 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.
83114
For more details, see [ArtifactHub](https://artifacthub.io/packages/helm/codefresh-gitops-runtime/gitops-runtime#using-with-private-registries---helper-utility){:target="\_blank"}.
84115

116+
## Custom repository certificates
117+
118+
Repository certificates are required to authenticate users to on-premises Git servers.
119+
120+
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 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"}.
121+
122+
{% highlight yaml %}
123+
global:
124+
codefresh:
125+
tls:
126+
caCerts:
127+
# optional - use an existing secret that contains the cert
128+
# secretKeyRef:
129+
# name: my-certificate-secret
130+
# key: ca-bundle.crt
131+
# or create "codefresh-tls-certs" secret
132+
secret:
133+
create: true
134+
content: |
135+
-----BEGIN CERTIFICATE-----
136+
...
137+
-----END CERTIFICATE-----
138+
{% endhighlight yaml %}
139+
140+
85141
## Step-by-step Hybrid GitOps Runtime installation walkthrough
86142
Install the Hybrid GitOps Runtime via Helm from the Codefresh UI.
87143

@@ -191,9 +247,9 @@ The [Shared Configuration Repository]({{site.baseurl}}/docs/installation/gitops/
191247
* Bitbucket Cloud: `https://api.bitbucket.org/2.0`
192248
* Bitbucket Server: `<server-url>/rest/api/1.0`
193249
1. Define the URL of the **Shared Configuration Repository**.
194-
>NOTE:
195-
>Because the Shared Configuration repo is defined at the account-level, the Git provider you select for the first Runtime in your account is used for all the other Runtimes in the same account.
196-
>To change the Shared repo or Git credentials after installation, see [Update Git credentials for GitOps Runtimes]({{site.baseurl}}/docs/installation/gitops/monitor-manage-runtimes/#update-git-credentials-for-gitops-runtimes).
250+
>**NOTE**:
251+
>Because the Shared Configuration Repo is defined at the account-level, the Git provider you select for the first Runtime in your account is used for all the other Runtimes in the same account.
252+
>To change the Shared Configuration Repo or Git credentials after installation, see [Update Git credentials for GitOps Runtimes]({{site.baseurl}}/docs/installation/gitops/monitor-manage-runtimes/#update-git-credentials-for-gitops-runtimes).
197253
1. Click **Next**.
198254
1. Continue with [Step 4: Install Hybrid Runtime](#step-4-install-hybrid-gitops-runtime).
199255

@@ -262,6 +318,7 @@ helm upgrade --install <helm-release-name> \
262318
* `<codefresh-account-id>` is mandatory only for _tunnel-based Hybrid GitOps Runtimes_.
263319
* `<codefresh-api-key>` is the generated API key.
264320
* `<runtime-name>` is the name of the runtime, either `codefresh`, or the custom name you defined.
321+
* `<helm-repo-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.
265322
* `gitops-runtime` is the chart name defined by Codefresh.
266323
* `global.runtime.ingress.enabled=true` is mandatory for _ingress-based Hybrid GitOps Runtimes_, and indicates that the runtime is ingress-based.
267324
* `<ingress-host>` is mandatory for _ingress-based Hybrid GitOps Runtimes_, and is the IP address or host name of the ingress controller component.
84.8 KB
Loading

0 commit comments

Comments
 (0)