0.5.0
CubePod 0.5.0
Section titled “CubePod 0.5.0”Features and improvements
Section titled “Features and improvements”- CubePlex
cbxref_zero-trust egress MITM & isolated guest CA injection. Wiredcbxref_credential placeholder exchange andExchangeURL-triggered TLS MITM intocubepod-egress, split the guest-facing<box>-egress-caSecret (mitm-ca.crtonly, composed into/run/cubepod/ca-certificates.crtbypodd-initin Block mode) from<box>-egress-mtls, and added-egress-upstream-ca-fileacrosscubepod-controller,cubepod-gateway, andcubepod-egressfor private upstream CAs. See Zero-Trust Egress. - Longhorn V2 SPDK tuning for Kata Cloud Hypervisor (
kata-clh) on EEVDF kernels. Pinnedspdk_tgtreactor threads to CPU 1 (v2DataEngineCPUMask: "0x2") indeploy/k8s/longhorn-v2/values.yamland added acubepod-spdk-sched-idlesystemd timer +95%per-reactorcpu.maxcap indeploy/k8s/longhorn-v2/prep-node.shso Linux 6.6+/7.0 EEVDF per-CPUkworker/1:*workqueue flushes never stall volume detachments. See Kata & Block Storage. poddHTTP Range streaming & gateway empty-phase handling. Added206 Partial ContentRangesupport for file downloads incrates/poddand preserved empty initialPodBoxphases asprovisioningin GatewayresolveSandbox.
- Egress proxy
Host/URL mismatch SSRF hardening (pkg/egress/proxy.go). Enforced matchingHostheaders, request URL hosts, URL schemes, and TLS SNI across explicitServeHTTP(GET&CONNECT),TransparentHTTPHandler, andserveMITMTLSbefore any upstream request or secret exchange occurs. - Controller status persistence, Fork/Reset rollback, and WarmPool cleanup (
pkg/controller/reconciler.go,kubeclient_crd.go). Persisted initialPodBoxCRD status viaUpsertPodBoxon creation, preservedResetRootFSgeneration/PVC progress acrossensureEgressSecretsLockedandEnsurePodfailures, rolled back failed cold creates andForkFromclaims while preserving deterministic persistentVolumeKeyworkspace PVCs, deleted failed warm pods before PVCs to preventkubernetes.io/pvc-protectionhangs, stopped retries on deletedPodWarmPoolCRs, and sanitizedSyncFromKubeWarmPool label selectors withSanitizeLabelValue. - Kata MicroVM
RLIMIT_NOFILEclamping (crates/podd). Clamped inherited1073741824RLIMIT_NOFILElimits underkata-clhdown to65536soft /1048576hard atpoddstartup and child command launch to prevent FD-closing CPU spin in guest daemons such asstart-stop-daemon.
Before upgrading
Section titled “Before upgrading”No Kubernetes CRD schema fields changed in 0.5.0 (if upgrading from 0.4.0 or earlier, apply CRDs first: kubectl apply -f deploy/helm/cubepod/crds/).
Upgrade gateway, controller, egress, and podd injector images together to v0.5.0 via the Kubernetes & Helm deployment guide, and update client SDKs (pip install -U cubepod==0.5.0 / npm install cubepod@0.5.0). Clusters running Longhorn V2 on Linux 6.6+/7.0 should also re-run deploy/k8s/longhorn-v2/prep-node.sh and apply the updated v2DataEngineCPUMask: "0x2" setting per Kata & Block Storage.