Commit 7df3eba
docs(readme,plan): reframe blockstor's positioning + motivation
Replace the previous "Go reimplementation of LINSTOR" framing in
both README and PLAN with a description of what blockstor is on
its own terms: a Kubernetes control plane for LVM and ZFS storage
with DRBD replication, exposing a LINSTOR-compatible REST API for
client ecosystem compatibility.
README:
- New "Why a new implementation?" section ordered
Kubernetes-native architecture → Ecosystem fit → New
functionality (shared-LUN provisioning per oVirt VDSM design,
VDUSE backend, BYOK encryption) with public engineering
references (oVirt VDSM thin-provisioning doc, the LVM/qcow
shared-SAN write-up, docs/architecture.md).
- New "Acknowledgements" section crediting LINBIT's work on
DRBD + LINSTOR and the wider DRBD / LINSTOR / Piraeus
community.
- Dropped: "Go reimplementation of LINSTOR" lede, "1:1 with
upstream LINSTOR endpoints", "oracle diff vs. Java LINSTOR",
the Phase-progress status line, the proto/satellite/v1alpha1
layout entry (gone with the gRPC retirement).
- Layout section updated to reflect the satellite c-r
controllers package added in Phase 10 and the dispatcher's
narrowed scope (CRD → DesiredResource translator, no longer
a gRPC client).
PLAN:
- Lede reframed to match the README.
- Goals section rewritten around positive engineering
objectives (Kubernetes-native, REST-compatible, first-class
CRDs, new storage capabilities, cozystack integration)
instead of "replace all Java code".
- In-scope bullets stop describing the project as a Java→Go
translation.
- Drop direct references to specific upstream Java source
files (LinstorVlmLayer.java, CtrlRsc*Helper.java,
LsBlkUtils.java, CmdPhysicalStorage.java). Behavioural
descriptors replace them — same engineering facts, no
smoking-gun pointers.
- "port from upstream Java" / "Mirrors upstream LINSTOR's
X.java" replaced with neutral framing tied to external
constraints (DRBD-9 quorum math, udev stable-id precedence,
the operational reality of mixed LVM/DRBD/ZFS hosts).
- "Java oracle" / "Java LINSTOR controller" / "upstream Java
stack" → "LINSTOR oracle" / "LINSTOR controller" / "upstream
LINSTOR stack" in the testing-infra descriptions; the
contract-diff harness uses a running upstream LINSTOR as a
black-box reference, which is the legitimate
reverse-engineering-for-interop pattern.
Co-Authored-By: Claude <noreply@anthropic.com>1 parent cb3162c commit 7df3eba
2 files changed
Lines changed: 85 additions & 66 deletions
0 commit comments