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

Kubernetes Image Pull Policy

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: ''

Kubernetes Service Types

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

Kubernetes Ingress Docs

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