Skip to content

Commit d7db681

Browse files
authored
Q2 gitops install quick start refaactor (#776)
* Update runtime quick starts for gitops Updated content for all gitops runtime quick start topics to align with new Helm * Update with Helm reqs Replaced CLI commands with Helm command * Update hybrid-gitops-helm-installation.md Updated helm install procedure with latest changes * Update runtime.md Added Argo project and CRDs to Quick start assumptions * Remove --devel from quick start Aligned quick start with Helm and removed --devel flag * Update quick start content for gitops runtimes Fixed terminology and removed screenshot --devel from screenshot
1 parent 9369b0a commit d7db681

File tree

7 files changed

+135
-125
lines changed

7 files changed

+135
-125
lines changed

_data/nav.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@
3535
- title: GitOps quick starts
3636
url: "/gitops-quick-start"
3737
sub-pages:
38-
- title: Provision a hosted runtime
38+
- title: Provision a Hosted GitOps Runtime
3939
url: "/install-hosted"
40-
- title: Prepare for hybrid runtime installation
40+
- title: Prepare for Hybrid GitOps Runtime installation
4141
url: "/verify-requirements"
42-
- title: Install a hybrid runtime
42+
- title: Install a Hybrid GitOps Runtime
4343
url: "/runtime"
4444
- title: Create an application
4545
url: "/create-app-ui"

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ helm upgrade --install <helm-release-name> \
405405

406406

407407
### Step 5: Configure Git credentials for Hybrid GitOps Runtime
408-
Configure Git credentials to authorize access to and ensure proper functioning of the GitOps Runtime.
408+
Configure Git credentials to authorize access to and ensure proper functioning of the GitOps Runtime. This is one of the two steps to complete installing Hybrid GitOps Runtimes, the other being to configure the Runtime as an Argo Application, described in the next step.
409409

410410
Git credentials include authorizing access to Git through OAuth2 or a personal access token, and optionally configuring SSH access to Git.
411411

@@ -489,7 +489,7 @@ Required only for ALB AWS, Istio, or NGINX Enterprise ingress-controllers.<br>
489489
* [Istio: Configure cluster routing service](#cluster-routing-service)
490490
* [NGINX Enterprise ingress controller: Patch certificate secret](#patch-certificate-secret)
491491

492-
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.
492+
That's it! You have successfully completed installing a Hybrid GitOps Runtime with Helm. View the Runtime in the [Runtimes]({{site.baseurl}}/docs/installation/gitops/monitor-manage-runtimes/#gitops-runtime-views) page.
493493

494494
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/).
495495

_docs/quick-start/gitops-quick-start.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,31 @@ toc: true
88
Check out our GitOps quick starts to get up and running with GitOps in Codefresh.
99

1010
The quick start guides you through:
11-
* Provisioning runtimes
11+
* Provisioning GitOps Runtimes
1212
* Creating and deploying an application
1313

1414

15-
## Provision runtimes
16-
Based on your deployment model, start by provisioning the hosted or hybrid runtime. Hosted and hybrid runtimes can co-exist with each other.
15+
## Provision GitOps Runtimes
16+
Based on your deployment model, start by provisioning the Hosted or Hybrid GitOps Runtime. Hosted and Hybrid GitOps Runtimes can co-exist with each other.
1717

1818

1919
### Hosted
20-
Hosted runtimes are hosted on a Codefresh cluster and managed by Codefresh. You need to provision your hosted runtime once for your account.
20+
Hosted GitOps Runtimes are hosted on a Codefresh cluster and managed by Codefresh. You need to provision your Hosted Runtime once for your account.
2121

22-
1. [Provision a hosted runtime]({{site.baseurl}}/docs/quick-start/gitops-quick-start/install-hosted)
23-
Provision the hosted runtime with a single click, and complete the setup for your hosted environment.
22+
1. [Provision a Hosted GitOps Runtime]({{site.baseurl}}/docs/quick-start/gitops-quick-start/install-hosted)
23+
Provision the Hosted GitOps Runtime with a single click, and complete the setup for your hosted environment.
2424

2525
{::nomarkdown}
2626
<br>
2727
{:/}
2828

2929
### Hybrid
30-
Hybrid runtimes are hosted on a customer cluster and managed by the customer. You can provision multiple hybrid runtimes in the same account.
30+
Hybrid GitOps Runtimes are hosted on a customer cluster and managed by the customer. You can provision multiple Hybrid GitOps Runtimes in the same account.
3131

32-
1. [Prepare for hybrid runtime installation]({{site.baseurl}}/docs/quick-start/gitops-quick-start/verify-requirements)
33-
Verify your environment matches the requirements for installing Codefresh runtime.
34-
1. [Install hybrid runtime]({{site.baseurl}}/docs/quick-start/gitops-quick-start/runtime)
35-
Install the Codefresh runtime by downloading the CLI, installing the runtime, and validate successful installation in the UI
32+
1. [Prepare for Hybrid GitOps Runtime installation]({{site.baseurl}}/docs/quick-start/gitops-quick-start/verify-requirements)
33+
Verify your environment matches the requirements for installing a Hybrid GitOps Runtime.
34+
1. [Install the Hybrid GitOps Runtime]({{site.baseurl}}/docs/quick-start/gitops-quick-start/runtime)
35+
Install the Hybrid GitOps Runtime through Helm.
3636

3737
## Create a Codefresh account
3838
[Create an account in Codefresh]({{site.baseurl}}/docs/quick-start/create-codefresh-account/) in which to create pipelines.

_docs/quick-start/gitops-quick-start/install-hosted.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
---
2-
title: "Provision a hosted runtime"
3-
description: ""
2+
title: "Provision a Hosted GitOps Runtime"
3+
description: "Install the GitOps Runtime hosted by Codefresh"
44
group: getting-started
55
sub-group: gitops-quick-start
66
toc: true
77
---
88

99
If you have Hosted GitOps, set up your hosted runtime environment:
1010

11-
1. Provision the hosted runtime with a single click
11+
1. Provision the Hosted GitOps Runtime with a single click
1212
1. Authorize access through your OAuth token to the organization where Codefresh creates the Git runtime repo and the shared configuration repo
1313
1. Connect to an external K8s cluster with access to the internet, to which you can deploy applications
1414
1. Install Argo Rollouts on the cluster
1515

1616
Read our [blog on Hosted GitOps](https://codefresh.io/blog/codefresh-upends-continuous-delivery-with-hosted-gitops-platform-featuring-dora-dashboards-and-first-class-integrations-for-ci/).
17-
For detailed information on each of the steps below, see [Set up a hosted runtime environment]({{site.baseurl}}/docs/installation/gitops/hosted-runtime/).
17+
For detailed information on each of the steps below, see [Set up a Hosted GitOps Runtime environment]({{site.baseurl}}/docs/installation/gitops/hosted-runtime/).
1818

19-
**Before you begin**
19+
## Before you begin
2020

2121
Verify the following:
2222
* If you have hybrid runtimes installed, make sure you have latest version of the CLI
@@ -27,8 +27,8 @@ Verify the following:
2727
* Kubernetes cluster with access to the internet
2828
* OAuth token
2929

30-
**How to**
31-
1. In the Codefresh UI, go to Codefresh [Home](https://g.codefresh.io/2.0/?time=LAST_7_DAYS){:target="\_blank"}.
30+
## How to
31+
1. In the Codefresh UI, go to Codefresh [Home Dashboard](https://g.codefresh.io/2.0/?time=LAST_7_DAYS){:target="\_blank"}.
3232

3333
{% include
3434
image.html
@@ -41,8 +41,8 @@ max-width="80%"
4141
%}
4242

4343
{:start="2"}
44-
1. Provision the hosted runtime:
45-
* Click **Install**, and wait for Codefresh to complete provisioning your hosted runtime (may take up to ten minutes).
44+
1. Provision the Hosted GitOps Runtime:
45+
* Click **Install**, and wait for Codefresh to complete provisioning your Hosted GitOps Runtime (may take up to ten minutes).
4646

4747
{% include
4848
image.html
@@ -105,6 +105,6 @@ max-width="70%"
105105
max-width="50%"
106106
%}
107107

108-
### What to do next
108+
## What to do next
109109
[Create resources for codefresh-guestbook application]({{site.baseurl}}/docs/quick-start/gitops-quick-start/create-app-specs/)
110110

Lines changed: 94 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,60 @@
11
---
2-
title: "Install a hybrid runtime"
3-
description: ""
2+
title: "Install Hybrid GitOps Runtime"
3+
description: "Install the Helm-based Hybrid GitOps Runtime"
44
group: getting-started
55
sub-group: quick-start
66
toc: true
77
---
88

99

10-
Install the hybrid runtime on your K8s cluster. Installing the hybrid runtime installs Argo-project and Codefresh-specific components. The Argo Project is an enterprise-supported version of the Argo CD components, derived from a conformed fork of the Argo ecosystem.
1110

12-
### About hybrid runtime installation
13-
Installing a hybrid runtime includes installing the:
14-
1. GitOps CLI
15-
2. Codefresh hybrid runtime from the CLI in a specific namespace on your cluster.
16-
Every hybrid runtime installation makes commits to three Git repos:
17-
* Runtime installation repo: The installation repo that manages the runtime itself with Argo CD. If the repo URL you provide does not exist, the runtime creates it automatically.
18-
* Git Source repo: Created automatically during runtime installation. The repo with the demo resources required for the sample `Hello World` pipelines we provide.
19-
* Shared Configuration Repository: A repository that stores configuration manifests shared across runtimes.
11+
Get up and running with Codefresh by installing the Hybrid Runtime for GitOps via Helm.
12+
The Runtime is installed through a Helm chart. The Codefresh `values.yaml` is located [here](https://github.com/codefresh-io/gitops-runtime-helm/blob/main/charts/gitops-runtime/){:target="\_blank"}. It contains all the arguments that can be configured, including optional ones.
2013

21-
### Before you begin
14+
## Quick start assumptions
2215

23-
#### Tunnel-based runtime
24-
Hybrid GitOps runtimes supports tunnel-based and ingress-based configurations.
25-
For the quick start, we will use the tunnel-based mode which is the default access mode and does not require an ingress controller.
26-
For details, review [GitOps Runtime architecture]({{site.baseurl}}/docs/installation/runtime-architecture/#gitops-runtime-architecture).
16+
The quick start assumes that you are installing the first Hybrid GitOps Runtime in your Codefresh account.
2717

28-
#### Git provider tokens
29-
A hybrid runtime requires a Git token for authentication to the Git installation repository based on your Git provider.
30-
The quick start uses GitHub as the Git provider. For other Git providers and token requirements, see [Git provider and repo flags]({{site.baseurl}}/docs/installation/gitops/hybrid-gitops/#git-provider-and-repo-flags).
18+
## Argo project components & CRDs
19+
Hybrid GitOps installation requires a cluster without Argo project components and CRDs (Custom Resource Definitions).
3120

32-
Have your GitHub Personal Authentication Token (PAT) ready with a valid expiration date and access permissions:
33-
* Expiration: Either the default of 30 days or any duration you consider logical.
34-
* Access scopes: Set to `repo` and `admin-repo.hook`
21+
Argo project components include Argo Rollouts, Argo CD, Argo Events, and Argo Workflows.
22+
23+
You can handle Argo project CRDs outside the chart, or as recommended, adopt the CRDs to be managed by the GitOps Runtime Helm release.
24+
25+
If you already have Argo project CRDs on your cluster, do one of the following:
26+
* Handle Argo projects CRDs outside of the chart (see [Argo's readme on Helm charts](https://github.com/argoproj/argo-helm/blob/main/README.md){:target="\_blank"})
27+
Disable CRD installation under the relevant section for each of the Argo projects in the Helm chart:<br>
28+
`--set <argo-project>.crds.install=false`<br>
29+
where:<br>
30+
`<argo-project>` is the argo project component: `argo-cd`, `argo-workflows`, `argo-rollouts` and `argo-events`.
31+
32+
* Adopt the CRDs<br>
33+
Adopting the CRDs allows them to be managed by the `gitops-runtime helm release`. Doing so ensures when you upgrade the Hybrid GitOps Runtime, the CRDs are also automatically upgraded.
34+
35+
Run this script _before_ installation:
36+
37+
```
38+
#!/bin/sh
39+
RELEASE=<helm-release-name>
40+
NAMESPACE=<target-namespace>
41+
kubectl label --overwrite crds $(kubectl get crd | grep argoproj.io | awk '{print $1}' | xargs) app.kubernetes.io/managed-by=Helm
42+
kubectl annotate --overwrite crds $(kubectl get crd | grep argoproj.io | awk '{print $1}' | xargs) meta.helm.sh/release-name=$RELEASE
43+
kubectl annotate --overwrite crds $(kubectl get crd | grep argoproj.io | awk '{print $1}' | xargs) meta.helm.sh/release-namespace=$NAMESPACE
44+
```
45+
46+
### Tunnel-based runtime
47+
Hybrid GitOps Runtimes supports tunnel-based, ingress-based, and service-mesh-based access modes.
48+
For the quick start, we'll use the tunnel-based mode which is the default access mode, not requiring an ingress controller.
49+
For details on these access modes, review [GitOps Runtime architecture]({{site.baseurl}}/docs/installation/runtime-architecture/#gitops-runtime-architecture).
50+
51+
### GitHub as Git provider
52+
Hybrid GitOps Runtimes require a Git Runtime token for authentication to the Git installation repository based on your Git provider, and a Git user token to authenticate Git-based actions for the Runtime.
53+
The quick start uses GitHub as the Git provider. For other Git providers and token requirements, see [Git providers and Git runtime tokens]({{site.baseurl}}/docs/reference/git-tokens/#git-runtime-token-scopes).
54+
55+
Have your GitHub Runtime token ready for Runtime installation with a valid expiration date and access permissions:
56+
* Expiration: Either the default of 30 days or any duration you consider logical.
57+
* Access scopes: Set to `repo` and `admin-repo.hook`
3558

3659
{% include
3760
image.html
@@ -45,74 +68,58 @@ For details, review [GitOps Runtime architecture]({{site.baseurl}}/docs/installa
4568

4669
If you need detailed information on GitHub tokens, see the [GitHub article](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token).
4770

48-
### Download the Codefresh CLI
49-
Downloading the Codefresh CLI requires you to select the download mode and OS, generate an API key, and authentication context, as instructed in the UI.
50-
1. In the Welcome page, select **+ Install Runtime**.
51-
1. Download the Codefresh CLI:
52-
* Select one of the methods.
53-
* Generate the API key and create the authentication context.
71+
### Shared Configuration Repository
72+
When you select the Git provider, Codefresh prompts you to also select the Shared Configuration Repository for your account. The repo stores account-level configuration settings and manifests.
73+
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.
74+
Read up on the [Shared Configuration Repository]({{site.baseurl}}/docs/installation/gitops/shared-configuration/).
5475

55-
{% include
56-
image.html
57-
lightbox="true"
58-
file="/images/runtime/gitops-cli-download.png"
59-
url="/images/runtime/gitops-cli-download.png"
60-
alt="Download GitOps CLI to install runtime"
61-
caption="Download GitOps CLI to install runtime"
62-
max-width="30%"
63-
%}
64-
### Install hybrid runtime
65-
For the quick start, we will use the CLI wizard to install the Hybrid GitOps Runtime.
66-
67-
1. To start runtime installation, run `cf runtime install`.
68-
>If you don't have a valid SSL certificate for the Ingress controller, and want to continue with the installation, add the `--insecure` flag to the runtime command.
69-
1. Follow the prompts in the CLI wizard to complete the installation:
70-
* **Runtime name**: The name of your runtime, starting with a lower-case character, and including up to 63 characters and numbers. Example: `codefreshproduction`
71-
* **Select Kube context**: Your current context is highlighted. Press Enter to select it, or use the arrow keys to select a different context.
72-
* **Repository URL**: The GitHub repo for the installation definitions, in the format `https://github.com/[user-or-org-name]/[repo_name]`. Example: `https//:github.com/codefresh/cf_production_install`.
73-
* **Git runtime token**: The GitHub PAT for access to the installation repo.
74-
* **Install Codefresh demo resources?** Press Enter to confirm. Demo resources are saved in a new Git Source repo, created by Codefresh. They include resources for two Hello World pipelines, one with a Cron trigger condition, and the other with a Git event trigger condition.
75-
* **Do you wish to continue with runtime install?** Press Enter to confirm and start runtime installation.
76-
1. Wait for the runtime installed successfully message.
77-
78-
### Validate successful installation
79-
The **Runtimes** dashboard shows the hybrid runtime you just installed. You can drill down into the runtime to see its components and Git Sources.
80-
81-
1. In the Codefresh UI, go to the [**Runtimes**](https://g.codefresh.io/2.0/account-settings/runtimes){:target="\_blank"} dashboard.
82-
83-
{% include
84-
image.html
85-
lightbox="true"
86-
file="/images/quick-start/gitops/hybrid-runtime-in-list.png"
87-
url="/images/quick-start/gitops/hybrid-runtime-in-list.png"
88-
alt="Succesfully installed Hybrid GitOps runtime in Runtimes > List View"
89-
caption="Succesfully installed Hybrid GitOps runtime in Runtimes > List View"
90-
max-width="60%"
91-
%}
76+
## Install Hybrid GitOps Runtime
9277

93-
{:start="2"}
94-
1. Select the runtime name to drill down, and then select the tabs to view the runtime components and Git Sources.
78+
**Before you begin**
79+
* Make sure your cluster does not have [Argo project components & CRDs](#argo-project-components--crds)
9580

96-
{% include
97-
image.html
98-
lightbox="true"
99-
file="/images/quick-start/gitops/hybrid-runtime-components.png"
100-
url="/images/quick-start/gitops/hybrid-runtime-components.png"
101-
alt="Hybrid GitOps Runtime Components tab"
102-
caption="Hybrid GitOps Runtime Components tab"
103-
max-width="30%"
104-
%}
81+
**How to**
10582

106-
{% include
107-
image.html
108-
lightbox="true"
109-
file="/images/quick-start/gitops/hybrid-runtime-gitsources.png"
110-
url="/images/quick-start/gitops/hybrid-runtime-gitsources.png"
111-
alt="Hybrid GitOps Runtime Git Sources tab"
112-
caption="Hybrid GitOps Runtime Git Sources tab"
113-
max-width="30%"
114-
%}
115-
116-
### What to do next
83+
1. In the Welcome page, select **+ Install Runtime**.
84+
1. From Runtimes in the sidebar, select **GitOps Runtimes**.
85+
1. Set up your Git provider account:
86+
1. If not GitHub, select the Git provider.
87+
1. Define the provider's API URL.
88+
1. Define the URL of the **Shared Configuration Repository**.
89+
1. Click **Next**.
90+
1. Install the Hybrid GitOps Runtime:
91+
1. Click **Generate** to create a new API key.
92+
1. Retain the default values for the GitOps Runtime name and namespace, `codefresh`.
93+
1. Copy the command in _Step 3_ and run it to add the repository in which to store the Helm chart. You don't need to change anything in the command.
94+
1. Copy the command in _Step 4_ and run it to install the Helm chart for the Hybrid GitOps Runtime:
95+
where:
96+
* `cf-gitops-runtime` is the default name of the Helm release, which you can change if needed.
97+
* `codefresh` is the default namespace in which to install the Hybrid GitOps runtime.
98+
* `<codefresh-account-id>` is mandatory for _tunnel-based Hybrid GitOps Runtimes_, and is automatically populated by Codefresh in the command.
99+
* `<codefresh-token>` is the API key you generated, and is automatically populated in the command.
100+
* `codefresh` is the default name of the runtime.
101+
* `<cf-gitops-runtime/gitops-runtime>` is the name of the repo and must be identical to the one specified in _Step 3_, and is by default, `cf-gitops-runtime`. `gitops-runtime` is the name of the Helm chart predefined by Codefresh, and cannot be changed.
102+
103+
{% include
104+
image.html
105+
lightbox="true"
106+
file="/images/quick-start/gitops/install-helm-command.png"
107+
url="/images/quick-start/gitops/install-helm-command.png"
108+
alt="Quick Start: Install Hybrid GitOps Runtime"
109+
caption="Quick Start: Install Hybrid GitOps Runtime"
110+
max-width="60%"
111+
%}
112+
113+
{:start="5"}
114+
1. Wait for a few minutes, and then click **Close**.
115+
You are taken to the List View for GitOps Runtimes where you can see the Hybrid GitOps Runtime you added with a green dot indicating that it is online, and the Type column for the Runtime displaying Helm.
116+
1. Optional. Complete the installation by clicking **Configure as Argo Application**.
117+
There is no need for any action from you, as Codefresh takes care of the configuration.
118+
By configuring the Hybrid GitOps Runtime as an Argo Application, you can ensure that GitOps is the single source of truth for the Runtime and view and monitor Runtime components.
119+
120+
You are now ready to create and deploy a GitOps application in Codefresh.
121+
122+
123+
## What to do next
117124
[Create resources for codefresh-guestbook application]({{site.baseurl}}/docs/quick-start/gitops-quick-start/create-app-specs/)
118125

0 commit comments

Comments
 (0)