ZCONTAINER-CORE // ENGINEERING REPORT

// surface matrix · Docker + Kubernetes commands · build model

Home App

zcontainer-core is in active development. This page lists the command surface as it stands. All commands take a JSON argument object and return a JSON result, or a {"error":{"tag":"…","message":"…"}} envelope. A namespace of "" or "all" lists cluster-wide.

Surfaces

surfacehow
Rustdepend on the rlib; call Engine::invoke(cmd, args) + subscribe / unsubscribe / stream_send
Tauri v2enable the tauri feature; wire the invoke / subscribe / unsubscribe / stream_send plugin commands + setup; mount the GUI from webui/
C ABIlink the staticlib / cdylib; call zcontainer_invoke / zcontainer_subscribe / … (see include/zcontainer_core.h)

Docker (Engine API via bollard — no docker CLI)

commandreturns
capabilities / docker.ping{docker,kube,version} / {ok}
docker.containers.list / images.list / volumes.list / networks.list[…Info]
docker.stats[ContainerStats] (live CPU%/memory, two-sample)
docker.container.start / .stop / .restart / .remove / .inspect / .logs{ok} / inspect doc / {logs}
docker.image.remove / .inspect{ok,deleted} / inspect doc
docker.volume.create / .remove{ok,name} / {ok}
docker.network.remove / .inspect{ok} / inspect doc
docker.system.df / .prunedisk-usage doc / reclaimed counts
docker.compose.list / .start / .stop / .restart / .down[ComposeStack] / {ok,affected}

Kubernetes (apiserver via kube-rs — no kubectl / helm CLI)

commandreturns
k8s.contexts.list[KubeContext] (from kubeconfig, no apiserver call)
k8s.namespaces.list[NamespaceInfo]
k8s.pods.list / deployments / statefulsets / daemonsets / replicasets / jobs / cronjobs / services.list[…Info]
k8s.nodes.list / crds.list[NodeInfo] / [CrdInfo]
k8s.helm.releases.list[HelmRelease] (decoded from helm.sh/release.v1 secrets)
k8s.resource.get{yaml}

Build model

The crate builds as rlib + staticlib + cdylib. The Docker and Kubernetes clients are async; the engine owns a Tokio runtime and bridges each request/response command to a synchronous result, while streaming commands (log-follow, exec, image-pull progress, port-forward) run on background tasks and push frames to the host event sink.