Hosted GitOps Runtime setup
Provision Hosted GitOps environment
Set up your environment with the Hosted GitOps Runtime to leverage Codefresh GitOps capabilities.
System requirements for Hosted GitOps Runtimes
|Kubernetes cluster||Server version 1.18 and higher to which to deploy applications|
Where to start with Hosted GitOps Runtimes
If you have not provisioned a Hosted GitOps Runtime, Codefresh presents you with the setup instructions in the Home dashboard.
- In the Codefresh UI, from OPS in the sidebar, select Home. Codefresh guides you through the three-step setup, as described below.
You can provision a single Hosted GitOps Runtime per Codefresh account.
Step 1: Install Hosted GitOps Runtime
Start installing the Hosted GitOps Runtime with a single-click. Codefresh completes the installation without any further intervention on your part. The Hosted GitOps Runtime is provisioned on the Codefresh cluster, and completely managed by Codefresh with automatic version and security upgrades.
- Do one of the following:
- To set up Hosted GitOps Runtime later, click Install later, and continue from step 2.
- To start setup, click Install, and continue from step 3.
- Do the following:
- In the Codefresh UI, click the Settings icon on the toolbar.
- From Runtimes in the sidebar, select GitOps Runtimes, and click + Add Runtime.
- Select Hosted Runtime and click Add.
An account can be provisioned with a single Hosted GitOps Runtime. If you have already provisioned a Hosted GitOps Runtime for your account, the Hosted GitOps Runtime option is disabled.
- Continue from step 3.
- When complete, to view the components for the Hosted GitOps Runtime, click View Runtime. You are directed to the Runtime Components tab.
You can see that there are two steps to complete Hosted GitOps setup.
The Git Sources and the Managed Clusters are empty as they will be set up in the next steps.
If you navigate to Runtimes > List View, you can identify the Hosted GitOps Runtime through the Type column (Hosted), the Cluster/Namespace column (Codefresh), and the Module column (CD Ops).
Step 2: Connect Git provider
Connect your Hosted GitOps Runtime to a Git provider for Codefresh to create the required Git repos. First authorize access to your Git provider through an OAuth token, and then select the Git organizations or accounts in which to create the required Git repos.
Only authorized organizations are displayed in the list. To authorize organizations for the Codefresh application in GitHub, see Authorize organizations/projects.
Once you authorize access, Codefresh creates two Git repositories, one to store the runtime configuration settings, and the other to store the runtime’s application settings:
Shared runtime configuration repo
The shared runtime configuration repo is a centralized Git repository that stores configuration settings for the Hosted GitOps Runtime. Additional runtimes provisioned for the account can point to this repo to retrieve and reuse the configuration.
Read about Shared configuration repo.
Git Source application repo
Codefresh creates a Git Source application repo for every Hosted GitOps Runtime.
Read about Git sources.
Hosted runtimes support only OAuth authentication.
- Click Connect.
- Click Authorize Access, and enter your OAuth token. If you don’t have an OAuth token, see the instructions on how to generate one in How to update a Git token.
- Select the Git Organization for which to create the repos.
If the organization does not appear in the list, you need to authorize access to it. See Authorize organizations/projects.
- Click Create. Codefresh creates the two Git repositories in the paths shown.
- Verify that both repositories have been created in your Git account.
Shared runtime configuration repo
Runtime Git Source repo
- Optional. To see your tokens, click View Tokens.
If you return to the Runtimes page and select the Git Source tab, you will now see the Git Source that Codefresh created.
The Sync State may be Unknown for a few moments until it is synced to the Codefresh cluster.
Step 3: Connect a Kubernetes cluster
Connect a destination cluster to the Hosted GitOps Runtime and register it as a managed cluster. Deploy applications and configuration to the cluster. For managed cluster information and installing Argo Rollouts, see Add and manage external clusters.
Before you begin
- Make sure your cluster has internet access
- Click Connect.
- In the Add Managed Cluster panel, copy the command
cf cluster add, and run it in the terminal.
- When prompted to select the
kube-context, select from the list of available clusters as defined in
- Return to the Runtimes page, and then select Topology View.
You can see the new K8s cluster you connected.
- Configure access to the IP addresses required. See Codefresh IP addresses.
If you could not connect a cluster, you may not have the latest version of the CLI:
Upgrade the GitOps CLI.
You have completed setting up your Hosted GitOps Runtime. You are ready to create applications, and connect third-party CI tools for image enrichment.
(Optional) Create application
Optional. Create an application in Codefresh, deploy it to the cluster, and track deployment and performance in the Applications dashboard.
- Follow our quick-start to create and deploy the
codefresh-guestbookapplication. Start with Create application resources.
Create your own application. See Create an application
- In the Codefresh UI, view your application in the Applications dashboard.
(Optional) Connect CI
Optional. Integrate Codefresh with the third-party tools you use for CI to enrich image information in deployments.
See Image enrichment with integrations
Monitoring & managing GitOps Runtimes
Add Git Sources to runtimes
Shared configuration repo