selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GlassFlow ClickHouse ETL logo

Self-host GlassFlow ClickHouse ETL

v3.2.0

Open-source stream engine for ClickHouse pipelines

ReleaseOpen CoreApache-2.0
Updated2 months ago
LanguageTypescript
Setup difficultyAdvanced
Stars
503
Ports
8080 (Web UI), 8081 (API)
Requires
ClickHouse
Install with Helm

What is GlassFlow ClickHouse ETL?

This project provides a stream processing engine that moves data into ClickHouse from sources like Kafka and OpenTelemetry. It applies transformations with an expression engine, handles deduplication using an embedded state store, and supports temporal joins across time windows. A web interface and Python SDK let operators manage pipelines. Deployment targets Kubernetes via Helm. The open-source edition covers core sources and sinks, while a commercial tier adds more connectors and operational features. The codebase uses the Apache-2.0 license.

Should you self-host GlassFlow ClickHouse ETL?

GlassFlow ClickHouse ETL scores 53/100 on selfhost.directory (how scoring works) and ranks #6 of 8 in Data Pipeline. It has 503 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v3.2.0, came out on 22 May 2026. New versions land roughly every 6 days.

Setup is advanced: plan for several services and some ongoing maintenance. It is Apache-2.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is apache-nifi (73/100, 6 277 stars). It scores higher overall, so compare the two before you pick. See GlassFlow ClickHouse ETL vs apache-nifi side by side.

Features

  • Dead Letter Queue
  • Deduplication
  • Filtering
  • Ingest only mode
  • Kafka source
  • Metrics & OpenTelemetry
  • OTLP source
  • Prometheus Metrics
  • Python SDK
  • Stateful transformations
  • Stateless transformations
  • Temporal joins
  • Web UI

GlassFlow ClickHouse ETL README

How to install GlassFlow ClickHouse ETL

Install GlassFlow ClickHouse ETL with Helm

A running Kubernetes cluster. Helm installed. kubectl for interacting with your cluster.

helm repo add glassflow https://glassflow.github.io/charts helm repo update helm install glassflow glassflow/glassflow-etl --create-namespace --namespace glassflow

Works with any managed Kubernetes service like AWS EKS, GKE, AKS

GlassFlow ClickHouse ETL releases & version history

FAQ

What happens during failures? Can you lose or duplicate data?

GlassFlow uses NATS JetStream as an internal buffer. The source is only acknowledged after messages are successfully published to NATS. If the system crashes after acknowledging the source but before inserting into ClickHouse, that batch is lost. Recovery guarantees are being actively improved.

Why do duplicates happen in data pipelines at all?

Duplicates can occur from producer retries, network issues, consumer reprocessing after failures in Kafka, or collector retries and overlapping export intervals in OTLP pipelines.

How does GlassFlow's deduplication work?

GlassFlow uses BadgerDB for deduplication in disk and memory.

How is GlassFlow's deduplication different from ClickHouse's ReplacingMergeTree?

ReplacingMergeTree performs deduplication via background merges which can delay accurate query results unless you force merges with FINAL, impacting read performance. GlassFlow moves deduplication upstream before data is written to ClickHouse, ensuring real-time correctness and reducing load on ClickHouse.

More in ETL

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…