Skip to main content
Quick navigation

Introduction

Conduktor depends on a configuration file platform-config.yaml. This is used to setup your organization environment. The file is used to declare:

  • Organization name
  • External database (optional)
  • User authentication (Basic or SSO)
  • Platform License
info

The recommended way to configure Kafka Cluster, Schema Registry and Kafka Connect is using Conduktor Platform UI.

The Manage Clusters page (/admin/clusters) has several advantages over the YAML configuration:

  • Intuitive interface with live update capabilities
  • Centralized and secured with RBAC and Audit Logs Events
  • Certificate store to help with your Custom certificates needs (no more JKS files and volume mounts)

Need to configure your Kafka Clusters using GitOps processes?
Contact our Customer Success or give us feedback on this feature.

If you absolutely need to configure your clusters using YAML, read the Configuration Properties page.

Security notes

The database as well as the configuration file described in this document may contain sensitive information.

  • The configuration file should be protected by file system permissions.
  • The database should have at-rest data encryption enabled on the data volume and have limited network connectivity.

Configuration File

Note that you may omit the database configuration if you wish to use an embedded postgres for testing purposes.

# platform-config.yaml
organization:
name: demo

database:
url: postgresql://user:password@host:5432/database
# OR in a decomposed way
# host: "host"
# port: 5432
# name: "database"
# username: "user"
# password: "password"
# connection_timeout: 30 # in seconds

auth:
demo-users:
- email: admin@demo.dev
password: adminpwd
groups:
- ADMIN

license: '<your license key>'

Binding the File

Below shows how to bind a local file to override /opt/conduktor/default-platform-config.yaml.

 docker run --rm \
--mount "type=bind,source=$PWD/platform-config.yml,target=/opt/conduktor/default-platform-config.yaml"
conduktor/conduktor-platform:latest

Alternatively, use the CDK_IN_CONF_FILE environment variable to bind the file from another location:

 docker run --rm \
--mount "type=bind,source=$PWD/platform-config.yml,target=/etc/platform-config.yaml" \
-e CDK_IN_CONF_FILE="/etc/platform-config.yaml"
conduktor/conduktor-platform:latest

Container user and permissions

Before platform 1.8.0, platform was running as root user. After 1.8.0, platform is running as a non-root user conduktor-platform with UID 10001 and GID 0.

All files inside the container volume /var/conduktor are owned by conduktor-platform user.

Environment Override

Starting from Conduktor Platform 1.2.0 input configuration fields can be provided using environment variables.

For more information, see Environment Variables