Telemetry Sink
This reference documents the Kubernetes configuration options for the Telemetry Sink, which authorizes and collects telemetry data from the platform and sends it to the message broker.
Kubernetes ReplicationController Docs
Defaults:
replicaCount: 1
Defaults:
image:
# Controls container image pulls
pullPolicy: IfNotPresent
# Container image repository
repository: docker.grafbase.com/proxy/enterprise-platform/ghcr.io/grafbase/telemetry-sink
# Image tag to use
tag: latest
Kubernetes Service Account Docs
Defaults:
serviceAccount:
# Controls service account creation
create: true
# Annotations to add to the service account
annotations: {}
# Service account name. Uses default if not set
name: ''
Defaults:
service:
# Service type (e.g. ClusterIP, NodePort, LoadBalancer)
type: ClusterIP
# Port to expose service on
port: 80
# Port that the service targets on the pods
targetPort: 4317
# Name of the service port
name: http
# Port exposed on each node for NodePort type
nodePort: 30431
Defaults:
ingress:
# Enables ingress
enabled: false
# Ingress class
className: 'nginx'
hosts:
# Hostnames and paths for the ingress
- host: telemetry-sink.local
paths:
- path: /*
pathType: ImplementationSpecific
backend:
serviceName: telemetry-sink
servicePort: 4317
Kubernetes Horizontal Pod Autoscaler
Defaults:
autoscaling:
# Enables autoscaling
enabled: true
# Minimum number of replicas
minReplicas: 1
# Maximum number of replicas
maxReplicas: 2
# Target CPU utilization percentage
targetCPUUtilizationPercentage: 50
Configuration values for the cluster configmap.
Defaults:
configmap:
# Controls configmap creation
enabled: true
name: ''
values:
# Address and port for the telemetry sink to listen on
GRAFBASE_TELEMETRY_SINK_LISTEN_ADDRESS: 0.0.0.0:4317
# Log level
RUST_LOG: info
# PostgreSQL acquire timeout in seconds
PG_ACQUIRE_TIMEOUT_SECS: 5
# PostgreSQL connect timeout in seconds
PG_CONNECT_TIMEOUT_SECS: 5
# PostgreSQL connection maximum lifetime in seconds
PG_CONNECTION_MAX_LIFETIME_SECS: 3600
# PostgreSQL idle timeout in seconds
PG_IDLE_TIMEOUT_SECS: 300
# PostgreSQL maximum number of connections
PG_MAX_CONNECTIONS: 15
# PostgreSQL minimum number of connections
PG_MIN_CONNECTIONS: 1
# Kafka topic name for metrics
GRAFBASE_OTEL_KAFKA_TOPIC_METRICS: otlp_metrics
# Kafka topic name for traces
GRAFBASE_OTEL_KAFKA_TOPIC_TRACES: otlp_spans
# Kafka topic name for logs
GRAFBASE_OTEL_KAFKA_TOPIC_LOGS: otlp_logs
# Kafka bootstrap server address
GRAFBASE_KAFKA_BOOTSTRAP_SERVERS: grafbase-enterprise-platform-kafka:9092
# Kafka security protocol
GRAFBASE_KAFKA_SECURITY_PROTOCOL: PLAINTEXT
# Kafka authentication mechanism
GRAFBASE_KAFKA_MECHANISM: PLAIN
# Environment name
ENVIRONMENT: production
Configuration values for the cluster secret.
secrets:
# Controls secret creation
enabled: true
# Secret name. Uses default if not set
name: ''
values:
# Secret key used for API access token verification. Must be the same in the API, the dashboard, and the telemetry sink.
GRAFBASE_API_ACCESS_TOKENS_SECRET: thisisaverysecurekeythatis32byte
# PostgreSQL connection string
PG_CONNECTION_STRING: postgresql://postgres:grafbase@grafbase-enterprise-platform-postgresql:5432/grafbase
# Kafka username for authentication
GRAFBASE_KAFKA_USERNAME: grafbase
# Kafka password for authentication
GRAFBASE_KAFKA_PASSWORD: grafbase
# ClickHouse connection string
CLICKHOUSE_CONNECTION_STRING: clickhouse://grafbase-enterprise-platform-clickhouse:9000?database=analytics&x-multi-statement=true&username=grafbase&password=grafbase
Configuration values for the database migrations.
migrations:
clickhouse:
resources:
limits:
cpu: 1000m
memory: 1000Mi
requests:
cpu: 1000m
memory: 1000Mi
image:
pullPolicy: IfNotPresent
repository: docker.grafbase.com/proxy/enterprise-platform/ghcr.io/grafbase/clickhouse-migrations
tag: latest