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

Item Requirement
Kubernetes cluster Server version 1.18 and higher to which to deploy applications
Git provider
  • GitHub
  • Bitbucket Cloud

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.

Hosted GitOps Runtime setup

Hosted GitOps Runtime setup

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.

  1. 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.

Step 1: Installing Hosted GitOps Runtime

Step 1: Installing Hosted GitOps Runtime
  1. 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.
  1. When complete, to view the components for the Hosted GitOps Runtime, click View Runtime. You are directed to the Runtime Components tab.

Runtime components for Hosted GitOps Runtime

Runtime components for Hosted GitOps Runtime

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).

Hosted GitOps Runtime in List view

Hosted GitOps Runtime in List view

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.

Step 2: Connect to Git provider

Step 2: Connect to Git provider

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.

How to

  1. Click Connect.
  2. 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.

Authorize access to Git

Authorize access to Git
  1. 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.

  2. Click Create. Codefresh creates the two Git repositories in the paths shown.

Git configuration repos for Git Organization

Git configuration repos for Git Organization
  1. Verify that both repositories have been created in your Git account.

Shared runtime configuration repo

Shared configuration repo in Git

Shared configuration repo in Git

Runtime Git Source repo

Shared configuration repo in Git

Shared configuration repo in Git
  1. 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.

Git Source tab for Hosted GitOps Runtime

Git Source tab for Hosted GitOps Runtime

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.

Step 3: Connect a K8s cluster for Hosted GitOps Runtime

Step 3: Connect a K8s cluster for Hosted GitOps Runtime

Before you begin

  • Make sure your cluster has internet access

How to

  1. Click Connect.
  2. In the Add Managed Cluster panel, copy the command cf cluster add, and run it in the terminal.
  3. When prompted to select the kube-context, select from the list of available clusters as defined in kubeconfig.

Add Managed Cluster panel

Add Managed Cluster panel
  1. Return to the Runtimes page, and then select Topology View.
    You can see the new K8s cluster you connected.

New K8s cluster in Hosted GitOps Runtime

New K8s cluster in Hosted GitOps Runtime
  1. 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.

  1. Follow our quick-start to create and deploy the codefresh-guestbook application. Start with Create application resources.
    OR
    Create your own application. See Create an application
  1. 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
Home Dashboard
DORA metrics