# Running Wasm Inside Your Storage Cluster > [!info] Ported from an existing deep-read (Refactor Appendix present). CNCF/KubeCon talk; transcript quality is poor (heavy ASR corruption on component names) so specific numbers/names should be verified against a written source before citing externally. > [!question] Lingering Questions > - What is the actual name of the "flex code"/"project code" glue component that converts dataset-operation requests into execution? Transcription-mangled and unresolved in the source deep-read. > - Does the 65.9%-slower-than-native WASM overhead scale linearly with dataset size, or does it change shape at much larger volumes than the 29.61 GB benchmark used? > - What would it actually take to extend this architecture to genuine multi-tenant isolation, which the presenters explicitly disclaim having built? > [!tip] Article Ideas > - "Fill only the specific gap standard APIs leave open" — a reusable systems-design discipline (add the minimum custom component needed, keep every other boundary on standard contracts) worth a short piece independent of this specific WASM/storage use case. > [!link] Cross Reference > - [[3. Resources/Literature Notes/OCI Is Not Git -- Rethinking GitOps Source of Truth]] — same batch; independently arrives at the same digest-not-tag reference discipline for security-sensitive delivery paths > - [[3. Resources/Literature Notes/Sandbox for Agentic Application With Cloud Native Stack]] — same batch; both talks are honest about sandboxing's real performance cost rather than hiding it > - [[3. Resources/Permanent Notes/Defense in Depth Concedes Perfect Safety Is Impossible and Optimizes for Narrow Costly Monitored Failure]] — adjacent claim about layered security assuming any single layer can fail > [!quote] Vocabulary > - **CSI** — Container Storage Interface, the Kubernetes contract for volume attachment/lifecycle > - **Gateway API** — Kubernetes' standard request-routing contract (HTTPRoute, etc.), used here instead of a custom routing layer ## Bibliographic capsule CNCF/KubeCon conference talk, YouTube. Two South Korean engineers present a Kubernetes-native architecture for running WebAssembly-based data filtering next to storage (a Rook/Ceph-managed cluster), built from standard Kubernetes primitives (CSI, Gateway API) rather than a custom operator. Category: video, filed under Podcasts. ## Author's thesis (as synthesized) Moving user-defined data transforms next to storage — instead of transferring the full dataset to the client for filtering — can be built almost entirely from existing Kubernetes contracts (CSI for volumes, Gateway API for routing) plus one minimal custom component, and the resulting architecture should honestly report WebAssembly's real performance cost rather than claim more isolation or speed than it actually delivers. ## Key arguments (≤3) 1. **Move the operation to the data, transfer only the result.** Filtering 29.61 GB of log data client-side requires transferring all 29.61 GB; filtering at the storage gateway requires transferring only the ~6.64 MB of matching results — a 99.978% reduction, directly measured. 2. **Sandboxing has a real, disclosed performance cost.** WebAssembly execution measured 65.9% slower than equivalent native code for the same filtering operation — reported honestly alongside the architecture's overall win, which comes from avoided transfer, not sandbox speed. 3. **Fill only the specific gap standard APIs leave open.** Gateway API owns routing, CSI owns volume lifecycle; neither defines arbitrary storage-side computation, so the design adds the minimum custom binding component needed rather than a new all-encompassing API — and explicitly stops short of claiming multi-tenant isolation it didn't build. ## Claim atoms ### Move the operation to the data, transfer only the result > [!quote] ID: rw_01kze55vrysnqg3m3dwvcf4dab > "If the client downloads everything first, the repeated transfer amount is thousands of times larger than the final result." Where/why: the founding measurement motivating the whole architecture — for high-selectivity filtering, client-side download wastes bandwidth proportional to everything immediately discarded. ### Fill only the specific gap standard APIs leave open > [!quote] ID: rw_01kze55vrysnqg3m3dwvcf4dab > "Gateway API owns request routing. The container storage interface CSI owns volume cycle and attachment. Neither API defines arbitrary storage side computation." Where/why: rather than inventing a new all-encompassing custom API, the design adds only the minimum custom component (binding requests to storage-side operations) while keeping every other boundary on standard, well-understood contracts. ### Security is boundary composition, not sandbox alone > [!quote] ID: rw_01kze55vrysnqg3m3dwvcf4dab > "Security comes from the composition of boundaries not from the sandbox level alone." Where/why: WASM memory isolation is the innermost layer only; production security requires disabled ambient API tokens, deny-by-default network policy, and resource/time limits layered around it. ### Explicit negative scope: not yet multi-tenant > [!quote] ID: rw_01kze55vrysnqg3m3dwvcf4dab > "we do not claim arbitrary tenants onload supply chain trust or close cross tenants isolation. This is not yet a multi-tenant service." Where/why: a precise, credit-worthy scope limitation — genuine layered security for a trusted-module/single-tenant-equivalent context, explicitly not the isolation guarantees untrusted cross-tenant workloads would need. ## Permanent candidates - **Fill only the specific gap standard APIs leave open** — genuinely uncaptured elsewhere, a reusable systems-design discipline. Promoted below. - Digest-not-tag referencing is independently corroborated by the OCI/GitOps talk in the same batch — connected via Cross Reference rather than duplicated. - Move-op-to-data and boundary-composition are strong but more implementation-specific — held for connection this pass. ## Processing checklist - [x] Ported claim atoms from the existing deep-read - [x] Checked existing Permanents before creating new ones - [x] Connected into [[3. Resources/MOCs/AI Agent Safety MOC]] ## Links - [[3. Resources/MOCs/AI Agent Safety MOC]] — sandboxing cost/isolation tradeoffs and honest scope disclosure - [[3. Resources/Literature Notes/Running Wasm Inside Your Storage Cluster]] — source transcript/notes