Installing from Release

Step-by-step guide for installing Konflux from a pre-built release bundle.

This guide covers deploying Konflux on any Kubernetes cluster using the pre-built release bundle.

Prerequisites

ToolMinimum version
gitv2.46
kubectlv1.31.4
opensslv3.0.13
  • cluster-admin permissions
  • A Kubernetes cluster with the following dependencies installed (see Setup):
    • Tekton (or OpenShift Pipelines when using OpenShift)
    • cert-manager
    • trust-manager
    • Kyverno
    • Pipelines-as-Code

Setup

  1. Clone the repository:
git clone https://github.com/konflux-ci/konflux-ci.git
cd konflux-ci
  1. Deploy the cluster dependencies:
# Generic Kubernetes
SKIP_DEX=true SKIP_INTERNAL_REGISTRY=true SKIP_SMEE=true ./deploy-deps.sh

# OpenShift - use native operators instead of upstream ones
USE_OPENSHIFT_PIPELINES=true USE_OPENSHIFT_CERTMANAGER=true \
SKIP_DEX=true SKIP_INTERNAL_REGISTRY=true SKIP_SMEE=true \
./deploy-deps.sh

Alternatively, apply the individual kustomizations under dependencies/ manually.

Step 1: Install the operator

Apply the latest release bundle. This installs all CRDs, the operator deployment, RBAC, and required namespaces in a single command:

kubectl apply -f https://github.com/konflux-ci/konflux-ci/releases/latest/download/install.yaml

To install a specific version instead of the latest, replace latest with the version tag:

kubectl apply -f https://github.com/konflux-ci/konflux-ci/releases/download/v0.0.1/install.yaml

Wait for the operator to be ready:

kubectl wait --for=condition=Available deployment/konflux-operator-controller-manager \
  -n konflux-operator --timeout=300s

Step 2: Create and verify the Konflux Custom Resource

See Applying the Konflux Custom Resource for instructions on creating a Konflux CR and verifying that all components are ready.

Uninstall

Remove the Konflux CR and all managed components:

kubectl delete konflux konflux

Remove the operator and CRDs:

kubectl delete -f https://github.com/konflux-ci/konflux-ci/releases/latest/download/install.yaml

What’s next