Skip to content

Repository files navigation

Tanilytics Infrastructure

This directory contains the Docker Compose configuration for the Tanilytics local infrastructure stack, including Redpanda, Redis, ClickHouse, ClickStack, Prometheus, Jaeger, ingestion, and processing.

Quick Start

  1. Copy the environment file:

    cp .env.example .env
  2. Start the full local stack:

    docker compose up -d

Kubernetes (Helm)

Use Helmfile for the current multi-release workflow:

helmfile -f helm/helmfile.yaml -e dev apply

Use the umbrella chart via Helmfile (single release, same values):

helmfile -f helm/helmfile-umbrella.yaml -e dev apply

Direct Helm install requires a combined values file that nests values under each subchart alias (see helm/helmfile-umbrella.yaml for the exact mapping), then run:

helm dependency update helm/charts/tanilytics
helm install tanilytics helm/charts/tanilytics -f <combined-values.yaml>

Dev Pipeline Compose

docker-compose.dev.yml mirrors the main compose stack, but replaces the three-node Redpanda cluster with a single redpanda-0 broker.

The pipeline profile enables only the data pipeline services:

  • redpanda-0
  • console
  • createtopic
  • redis
  • clickhouse
  • ingestion
  • processing

Start only the pipeline with:

docker compose -f docker-compose.dev.yml --profile pipeline up -d

The remaining app services are grouped under the app profile:

  • postgres
  • redis
  • clickhouse
  • auth-service
  • query-service
  • prometheus
  • jaeger

Start only those app services with:

docker compose -f docker-compose.dev.yml --profile app up -d

Start the full dev stack with:

docker compose -f docker-compose.dev.yml --profile app --profile pipeline up -d

Migrations

ClickHouse migrations live in migrations/ and are managed manually with golang-migrate via mise.

  1. Install the local tools:

    mise trust
    mise install
  2. Make sure CLICKHOUSE_MIGRATIONS_URL in .env points at the ClickHouse instance you want to migrate and uses the same CLICKHOUSE_DATABASE, CLICKHOUSE_USERNAME, and CLICKHOUSE_PASSWORD values as Docker Compose.

  3. Run the migration tasks:

    mise run migrate-up
    mise run migrate-version

Create a new sequential migration with:

mise run migrate-create -- add_some_change

Configuration

Changing the Superuser

The default superuser is defined in .env as REDPANDA_SUPERUSER=superuser. If you change this value, you must also update the superusers list in bootstrap.yml to match:

# bootstrap.yml
superusers:
  - <your-new-username>

This is required because Docker Compose does not substitute environment variables in mounted configuration files.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages