Skip to main content

Kubernetes

Deploy a production-ready instance of Conduktor on Kubernetes.

info

We welcome contributions and feedback. If you have issues, you can either open an issue on our GitHub repository or contact support.

Helm chart installation

Conduktor provides a Helm repository containing a chart that will deploy Conduktor Platform on your Kubernetes cluster.

Overview

We don't provide any relational database dependency, you will have to provide your own database. See the production requirements for details.

Check out the snippets section for more examples.

# Setup Helm repository
helm repo add conduktor https://helm.conduktor.io
helm repo update

export ADMIN_EMAIL="<your_admin_email>"
export ADMIN_PASSWORD="<your_admin_password>"
export ORG_NAME="<your_org_name>"
export NAMESPACE="<your_kubernetes_namespace>"

# Deploy Helm chart
helm install console conduktor/console \
--create-namespace -n ${NAMESPACE} \
--set config.organization.name="${ORG_NAME}" \
--set config.admin.email="${ADMIN_EMAIL}" \
--set config.admin.password="${ADMIN_PASSWORD}" \
--set config.database.password="<your_postgres_password>" \
--set config.database.username="<your_postgres_user>" \
--set config.database.host="<your_postgres_host>" \
--set config.database.port="5432" \
--set config.license="${LICENSE}" # can be omitted if deploying the free tier

# Port forward to access Conduktor
kubectl port-forward deployment/console -n ${NAMESPACE} 8080:8080
open http://localhost:8080

Compatibility matrix

Find out which versions of Conduktor Platform work on which version of our Conduktor Platform Helm chart.

We recommend you use the version of Platform that comes pre-configured with the Helm chart. You can adjust the version in your values property according to the supported Platform version, if required.

Breaking changes column only lists changes in the Helm chart. See Conduktor release notes to determine whether there are breaking changes within the artifacts.

Helm chart compatibility

Breaking changes:

🟡 - Breaks additional services (e.g. Grafana dashboard changes)

🔴 - Breaks overall deployment of the product (e.g. renaming variables in .values, major product releases)

Chart versionSupported Platform versionBreaking changes
console-1.18.01.33.0, 1.32.1, 1.32.0, 1.31.2, 1.31.1, 1.31.0, 1.30.0, 1.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.17.11.32.1, 1.32.0, 1.31.2, 1.31.1, 1.31.0, 1.30.0, 1.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.17.01.32.0, 1.31.2, 1.31.1, 1.31.0, 1.30.0, 1.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.16.21.31.2, 1.31.1, 1.31.0, 1.30.0, 1.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.16.11.31.1, 1.31.0, 1.30.0, 1.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.16.01.31.0, 1.30.0, 1.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.15.01.30.0, 1.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.14.21.29.2, 1.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.14.11.29.1, 1.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.14.01.29.0, 1.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.13.01.28.0, 1.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.12.11.27.1, 1.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.12.01.27.0, 1.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.11.01.26.0, 1.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.10.01.25.1, 1.25.0, 1.24.1, 1.24.0
console-1.9.11.24.1, 1.24.0
console-1.9.01.24.0🔴 Changed liveness and readiness probe path see here
console-1.8.11.23.0, 1.22.1, 1.22.0
console-1.8.01.23.0, 1.22.1, 1.22.0
console-1.7.21.22.1, 1.22.0🔴 Service Monitor endpoint changes, Grafana template changes see here
console-1.6.21.21.3, 1.21.2, 1.21.1, 1.21.0
console-1.6.11.21.1, 1.21.0
console-1.6.01.21.0🔴 Paths and folder changed see here
console-1.5.51.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.5.41.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3🟡 Updated Grafana template see here
console-1.5.31.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3🟡 Updated Grafana template see here
console-1.5.21.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3🟡 Updated Grafana template see here
console-1.5.11.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.5.01.20.0, 1.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.4.21.19.2, 1.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.4.11.19.1, 1.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.4.01.19.0, 1.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.91.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.81.18.4, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.71.18.3, 1.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.61.18.2, 1.18.1, 1.18.0, 1.17.3
console-1.3.51.18.1, 1.18.0, 1.17.3
console-1.3.41.18.1, 1.18.0, 1.17.3
console-1.3.31.18.1, 1.18.0, 1.17.3
console-1.3.21.18.0, 1.17.3
console-1.3.11.18.0, 1.17.3
console-1.3.01.18.0, 1.17.3
console-1.2.41.17.3
console-1.2.31.17.3
console-1.2.21.17.3
console-1.2.11.17.3
console-1.2.01.17.3
console-1.1.41.17.3🔴 Fixed issue with license checksum see here
console-1.1.31.17.3, 1.17.2
console-1.1.21.17.3, 1.17.2
console-1.1.11.17.3, 1.17.2
console-1.1.01.17.3, 1.17.2
console-1.0.31.17.3, 1.17.2
console-1.0.21.17.3, 1.17.2
console-1.0.11.17.3, 1.17.2
console-1.0.01.17.2

General requirements

Production requirements

Mandatory for production environments:

A note on TLS and URL forwarding

For production environments, we recommend to run with TLS enabled from your ingress controller and terminating on Platform. This creates a more secure connection, while also telling Platform that it should use TLS when forwarding on any URL requests (e.g. requests to SSO providers).

Without TLS terminating on Platform itself, requests between the ingress controller and Platform will be in plain text, as will URL forwarding to your SSO provider which can lead to rejection of the request for not being secure.

Getting started

Setup Helm repository

helm repo add conduktor https://helm.conduktor.io
helm repo update

Install the Platform chart

Configure Platform with the following values:

values.yaml
config:
organization:
name: "<your_org_name>"

admin:
email: "<your_admin_email>"
password: "<your_admin_password>"

database:
host: '<postgres_host>'
port: 5432
name: '<postgres_database>'
username: '<postgres_username>'
password: '<postgres_password>'

# HERE you can paste the console configuration (under the config key)

Install the chart on your cluster:

helm install console conduktor/console \
--create-namespace -n conduktor \
--values values.yaml \
--set config.license="${LICENSE}" # can be omitted if deploying the free tier

Once deployed, you will be able to access Conduktor on localhost:8080 by using a port-forward. You can also configure an ingress to make Platform available externally, check out our snippets.

kubectl port-forward deployment/console -n ${NAMESPACE} 8080:8080

Configure Platform

Fresh install

You can configure Platform by inserting it into the config section of the values.yaml file. Find available configurations in the configuration section.

Based on a Docker configuration

If you're already using a config file within Docker,you can use it by giving it to the Helm chart with the following command:

values.yaml
config:
organization:
name: "<your_org_name>"

admin:
email: "<your_admin_email>"
password: "<your_admin_password>"

database:
host: '<postgres_host>'
port: 5432
name: '<postgres_database>'
username: '<postgres_username>'
password: '<postgres_password>'

# HERE you can paste the console configuration (under the config key)

Configure with an enterprise license

values.yaml
config:
organization:
name: "<your_org_name>"

admin:
email: "<your_admin_email>"
password: "<your_admin_password>"

database:
host: '<postgres_host>'
port: 5432
name: '<postgres_database>'
username: '<postgres_username>'
password: '<postgres_password>'

license: "<your_license>"

# HERE you can paste the console configuration (under the config key)

Snippets

For coding snippets, see our README.