Installation
Klag ships as a Docker image and a Helm chart. The bare application defaults
METRICS_REPORTER to none, so Docker and binary deployments must select
prometheus, datadog, or otlp. The Helm chart defaults metrics.reporter to
prometheus.
Helm chart
Section titled “Helm chart”The chart is published to a Helm repository served from GitHub Pages and indexed on Artifact Hub.
helm repo add klag https://themoah.github.io/klaghelm repo updatehelm search repo klag # find the latest version
helm install klag klag/klag \ --set kafka.bootstrapServers="kafka-broker:9092"For repeatable deployments, choose a version from helm search repo klag --versions
and pass it with helm install --version <chart-version>.
helm install klag klag/klag \ --set kafka.bootstrapServers="kafka:9092" \ --set kafka.securityProtocol="SASL_SSL" \ --set kafka.saslMechanism="PLAIN" \ --set kafka.saslJaasConfig="org.apache.kafka.common.security.plain.PlainLoginModule required username='user' password='pass';"helm install klag ./charts/klag \ --set kafka.bootstrapServers="kafka-broker:9092"See the chart README for full configuration options, and Kubernetes deployment for production guidance.
Docker with an environment file
Section titled “Docker with an environment file”docker run --env-file .env themoah/klag:latestA sample .env:
# Kafka connectionKAFKA_BOOTSTRAP_SERVERS=instance.gcp.confluent.cloud:9092KAFKA_SECURITY_PROTOCOL=SASL_SSLKAFKA_SASL_MECHANISM=PLAINKAFKA_SASL_JAAS_CONFIG="org.apache.kafka.common.security.plain.PlainLoginModule required username=${SASL_USERNAME} password=${SASL_PASSWORD};"
# MetricsMETRICS_REPORTER=prometheusMETRICS_INTERVAL_MS=30000METRICS_GROUP_FILTER=*METRICS_GROUP_EXCLUDE=
# Optional: JVM metricsMETRICS_JVM_ENABLED=trueNext steps
Section titled “Next steps”- Configuration Reference: all environment variables.
- ACL Permissions: the read-only grants Klag needs.
- Troubleshooting: missing metrics, readiness, filters, and ServiceMonitor discovery.
- Build from Source: for contributors.
