traceloop/helm

By traceloop

Updated 6 months ago

Helm
0

404

traceloop/helm repository overview

Overview

This Helm chart deploys the Traceloop SaaS stack in airgapped or private Kubernetes environments. It includes core services, backend infrastructure, and background workers needed for full functionality.

Components

Services
  • web-app: NextJS frontend application for interacting with the Traceloop stack
  • traces-gateway: Go-based backend service for traces data ingestion
  • api-service: Go-based backend service allowing querying application data
  • kong-gateway: API Gateway for routing and managing traceloop stack service access
  • hub: CentralizedLLM hub service for AI capabilities
Workers
  • monitoring-worker: Worker service for monitoring functionality, contains two workers:
    • Kafka worker for event processing
    • Temporal worker for workflow execution
  • spans-clickhouse-sink: Worker for processing and storing spans data in ClickHouse
  • metrics-clickhouse-sink: Worker for processing and storing metrics data in ClickHouse
  • py-evaluator: Python-based evaluation service containing models for evaluating data quality
  • db-schemas: Databases schema management service
Infrastructure
  • PostgreSQL: Relational database for application data
  • ClickHouse: Column-oriented DBMS for analytical data processing
  • Kafka: Event streaming platform
  • Temporal: Workflow orchestration platform
    • Frontend service
    • History service
    • Matching service
    • Worker service
  • Centrifugo: Real-time messaging server for WebSocket communication

Repository Structure

The repository is organized as a Helm umbrella chart with subcharts for each component. This allows for both individual deployment of services and complete system deployment.

Prerequisites

  • Kubernetes 1.19+
  • Helm 3.0+

Getting Started


## 1. Create a namespace for the traceloop stack
kubectl create namespace traceloop

## 2. Create ImagePullSecrets for the traceloop stack
kubectl create secret docker-registry regcred \
  --namespace traceloop \
  --docker-server=docker.io \
  --docker-username=<username provided by Traceloop> \
  --docker-password=<token provided by Traceloop>

## 3. Run subcharts extractions script
chmod +x subcharts-extractions.sh
./subcharts-extractions.sh

## 4. Open values-customer.yaml file and fill the needed values for the traceloop stack
kong-gateway:
  service:
    type: NodePort # Or ClusterIP
    proxy:
      nodePort: 30080
    status:
      nodePort: 30081
  kong:
    domain: "provided-by-customer"
    appSubdomain: "app" # Can be overridden by customer
    apiSubdomain: "api" # Can be overridden by customer

customerConfig:
  propelauth:
    authURL: "provided-by-traceloop"

customerSecret:
  openai:
    key: "provided-by-customer"
  propelauth:
    verifierKey: "provided-by-traceloop"
    apiKey: "provided-by-traceloop"
  # Note: Centrifugo secrets are automatically generated
  # To provide custom secrets (optional), uncomment and fill these:
  # centrifugo:
  #   apiKey: "your-custom-api-key"
  #   tokenHmacSecret: "your-custom-hmac-secret"

## 5. Helm install
helm upgrade --install traceloop . \
  -n traceloop \
  --values values.yaml \
  --values values-customer.yaml \
  --values values-internal-kafka.yaml \
  --values values-internal-clickhouse.yaml \
  --values values-internal-postgres.yaml \
  --values values-temporal.yaml \
  --values values-centrifugo.yaml \
  --create-namespace \
  --dependency-update

## Notice, in case of using external services (postgres/clickhouse/kafka), 
## you need to fill the relevant values-external yaml (values-external-clickhouse.yaml/etc..) 
## and use it in the helm install command.
## Example:
helm upgrade --install traceloop . \
  -n traceloop \
  --values values.yaml \
  --values values-customer.yaml \
  --values values-external-postgres.yaml \
  --values values-external-clickhouse.yaml \
  --values values-external-kafka.yaml \
  --values values-temporal.yaml \
  --values values-centrifugo.yaml \
  --create-namespace \
  --dependency-update

## 6. Allow ingress to traceloop gateway using the selected Gateway NodePort / ClusterIP

Tag summary

Content type

Helm

Digest

sha256:3065e49ec

Size

269.2 kB

Last updated

6 months ago

helm pull oci://registry-1.docker.io/traceloop/helm --version 0.5.0