Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,23 @@

StreamForge helps data teams move only the records and fields downstream systems actually need. Instead of mirroring whole topics, StreamForge lets you filter, reshape, redact, and route messages before they land in analytics, lake, or lower-trust environments.

**[5-Minute Demo](#5-minute-demo)** | **[When to Use StreamForge](#when-to-use-streamforge)** | **[Compatibility](#compatibility)** | **[Documentation Index](docs/DOCUMENTATION_INDEX.md)**

---

## Why Teams Use StreamForge

- Replicate only analytics-safe fields instead of whole topics
- Split one source topic into multiple downstream topics
- Hash or drop PII before data crosses trust boundaries
- Keep the deployment surface small with a single binary, operator, and Helm chart

## Watch StreamForge Deploy on Minikube

[![StreamForge UI demo on Minikube](docs/assets/demo/ui-minikube-demo-readme.gif)](docs/UI_MINIKUBE_DEMO.md)

This UI-driven demo shows the path most teams actually want to see first: install with Helm, create a pipeline in the browser, review the generated YAML, deploy the CRD, then verify transformed output on Kafka.

**[UI Demo](docs/UI_MINIKUBE_DEMO.md)** | **[5-Minute CLI Demo](#5-minute-demo)** | **[Examples](examples/README.md)** | **[Compatibility](#compatibility)** | **[Documentation Index](docs/DOCUMENTATION_INDEX.md)**

---

## When to Use StreamForge

Use StreamForge when you need:
Expand Down Expand Up @@ -56,6 +62,8 @@ For concrete usage patterns and configs, see [docs/USAGE.md](docs/USAGE.md) and
Leave StreamForge running in this terminal.
4. Open a second terminal and follow [docs/QUICKSTART.md](docs/QUICKSTART.md) to create the demo topics, produce a sample order, and inspect `analytics-orders` and `pii-safe-orders`.

If you want the Kubernetes + UI path instead of the local CLI path, use [docs/UI_MINIKUBE_DEMO.md](docs/UI_MINIKUBE_DEMO.md).

## Production Trust Signals

- At-least-once delivery with retry and DLQ support
Expand Down
2 changes: 2 additions & 0 deletions docs/KUBERNETES.md
Original file line number Diff line number Diff line change
Expand Up @@ -491,6 +491,8 @@ helm upgrade streamforge-operator ./helm/streamforge-operator \

⚠️ **Change these in production!**

See [UI Demo on Minikube](UI_MINIKUBE_DEMO.md) for a full recorded walkthrough of the Helm install, UI pipeline creation, YAML preview, and transformed output verification.

**UI Configuration:**

```yaml
Expand Down
55 changes: 55 additions & 0 deletions docs/UI_MINIKUBE_DEMO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: UI Demo on Minikube
nav_order: 3
---

# UI Demo on Minikube

This walkthrough shows the public-facing StreamForge UI flow on a local Minikube cluster:

1. Install the operator and UI with Helm
2. Open the UI and sign in
3. Create a pipeline in form mode
4. Show the generated YAML before deployment
5. Deploy the CRD to Kubernetes
6. Produce a sample event to Kafka
7. Consume the transformed event from the analytics topic

<video controls preload="metadata" style="width:100%;max-width:1200px;border-radius:12px;">
<source src="/streamforge/assets/demo/ui-minikube-demo.mp4" type="video/mp4">
Your browser does not support embedded MP4 playback.
</video>

If the embedded player does not load in your renderer, use the repo asset directly: [ui-minikube-demo.mp4](assets/demo/ui-minikube-demo.mp4)

## What the Demo Shows

- Helm install of the StreamForge operator with the built-in UI enabled
- Login with the demo credentials `admin` / `admin`
- Pipeline creation through the UI instead of hand-written YAML
- YAML preview before create
- Runtime verification with a produced input event and a consumed transformed output event

Expected transformed output:

```json
{"amount":125,"order_id":"ord-ui-demo-1001","region":"us"}
```

## Demo Topics

- Input topic: `raw-orders-ui-demo`
- UI-declared destination topic: `mirror-orders-ui-demo`
- Verified transformed output topic: `analytics-orders-ui-demo`

## Demo Note

This recording keeps the transformed verification on a dedicated analytics topic so the public walkthrough stays accurate while the current UI deployment flow still mirrors the first declared destination as a raw stream.

## Reproduce It

Use these docs for the same setup shown in the recording:

- [Kubernetes](KUBERNETES.md)
- [Helm chart README](../helm/streamforge-operator/README.md)
- [Examples](EXAMPLES.md)
Binary file added docs/assets/demo/ui-minikube-demo-readme.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/demo/ui-minikube-demo.mp4
Binary file not shown.
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ StreamForge helps data teams filter, transform, redact, and route records betwee
## Get Started

- [Quickstart](QUICKSTART.md) - Run the five-minute selective replication demo
- [UI Demo on Minikube](UI_MINIKUBE_DEMO.md) - Deploy with Helm, create a pipeline in the UI, and verify transformed output
- [Examples](EXAMPLES.md) - Browse validated demo and production configs

## Build Pipelines
Expand Down
Loading