Sign inSign up

traceloop/helm

By traceloop

•Updated 8 months ago

Helm
0

467

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

8 months ago

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