diff --git a/README.md b/README.md index f17e3d3..5b1a9e0 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,6 @@ 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 @@ -24,6 +20,16 @@ StreamForge helps data teams move only the records and fields downstream systems - 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: @@ -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 diff --git a/docs/KUBERNETES.md b/docs/KUBERNETES.md index ef89b75..d64527e 100644 --- a/docs/KUBERNETES.md +++ b/docs/KUBERNETES.md @@ -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 diff --git a/docs/UI_MINIKUBE_DEMO.md b/docs/UI_MINIKUBE_DEMO.md new file mode 100644 index 0000000..7f8b25d --- /dev/null +++ b/docs/UI_MINIKUBE_DEMO.md @@ -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 + + + +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) diff --git a/docs/assets/demo/ui-minikube-demo-readme.gif b/docs/assets/demo/ui-minikube-demo-readme.gif new file mode 100644 index 0000000..caea6e1 Binary files /dev/null and b/docs/assets/demo/ui-minikube-demo-readme.gif differ diff --git a/docs/assets/demo/ui-minikube-demo.mp4 b/docs/assets/demo/ui-minikube-demo.mp4 new file mode 100644 index 0000000..8a25537 Binary files /dev/null and b/docs/assets/demo/ui-minikube-demo.mp4 differ diff --git a/docs/index.md b/docs/index.md index d6a859e..7e5de65 100644 --- a/docs/index.md +++ b/docs/index.md @@ -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