krm-stream starts with efficient live Kubernetes views for browser applications. Its gateway adds projection, redaction, suppression and optional watch sharing; its client adds lifecycle recovery and optional draft reconciliation. Choose tools according to the part your application needs.
| Need | Relevant approach | Where krm-stream fits |
|---|---|---|
| Native watch through an existing browser proxy | Host proxy plus a native fetch/watch consumer | connectNativeWatch lists and watches through the proxy with the shared lifecycle and store, and edits write conditional merge patches back through it; the gateway adds projected views over SSE. |
| Kubernetes API access from a server | Kubernetes client libraries and raw watches | The Go adapter uses client-go; the gateway adds projections and browser snapshot framing. |
| A complete Kubernetes UI | Dashboard applications and their plugin APIs | krm-stream supplies state and transport; the host builds the UI. |
| Review and deliver configuration packages | KRM package and GitOps systems | The host can record accepted writes in its delivery workflow. |
| Collaborative document editing | CRDT and generic merge libraries | This store reconciles drafts against an authoritative Kubernetes object and surfaces conflicts. |
| Cache server data in a frontend | Query/cache libraries | krm-stream adds the KRM stream lifecycle, redaction metadata and draft reconciliation. |
- Kubernetes JavaScript client: server-side API access. Browser integration still needs host credentials, disclosure policy and stream handling.
- Headlamp: a Kubernetes UI with a plugin system, useful when extending a dashboard is the goal.
- kpt and Porch: KRM package workflows. A package revision and an in-progress browser form serve different purposes.
- Automerge and Yjs: collaborative data structures for applications with different synchronization and conflict models.
- gitops-reverser: a complementary write-and-record workflow. The host connects accepted Kubernetes writes to Git; krm-stream supplies the read and edit side.
The architecture overview shows the library/host split. The saving guide describes the conditional-write boundary and its limitations.