Skip to content

Repository files navigation

vmctl

ZKM ZKM Open Source License: MIT

A platform for the conservation of born-digital and media art — automated analysis, a research workbench for reviving works on period virtual machines, and gallery-safe exhibition playback. Developed at ZKM | Center for Art and Media Karlsruhe.

Overview

VM-conservation platform for media art — the superproject wiring the family as submodules. git clone --recursive gets the whole set co-located (the artwork-autopsy / research-vm-controllervmctl-core path deps resolve because the submodules sit as siblings).

Why "vmctl"? The works come back to life inside virtual machines — faithful period computers — and every tool here controls one, so the family is named vmctl ("VM control"), after the Unix convention for control utilities (systemctl, kubectlvmctl). The members share that root: the Research VM Controller (rvmc), the Exhibition VM Controller (evmc), and artwork-autopsy, all resting on the shared vmctl-core spine.

This is a roadmap as much as a release. The pieces sit at different maturity. Take the status column below at face value: some parts are validated and ready to run, one is alpha with APIs still in flux. We would rather tell you that than have you find out.

The arc

Three stages carry one artwork through one system: analysis → workbench → exhibition. artwork-autopsy tears an unknown born-digital work apart and works out what it needs; research-vm-controller (rvmc) turns that into a revival on a period VM; exhibition-vm-controller (evmc) locks a verified result into a gallery-safe playback. vmctl-core is the shared spine, docs the shared knowledge, wayback-mcp the shared dead-server helper, and vmctl-guest-agent the in-guest agent the controllers drive inside the period VMs. A recursive clone brings all seven members.

Members

submodule role status
artwork-autopsy deterministic-static + agentic analysis brain usable — validated on a benchmark (10/11 across six runtime families), EU-sovereign model stack
vmctl-core shared lib — artwork-drive schema, base-image catalog, plugin spec, VM backends usable — the shared foundation
docs family docs — source for docs.vmctl.org; clone it and point an AI agent at it usable — read it, or serve it
exhibition-vm-controller evmc — the exhibition/playback controller published — already public
wayback-mcp shared MCP tool — web-archive resolution for dead-endpoint revival usable — autopsy's archive side-car
vmctl-guest-agent in-guest agent (agentbox) the controllers drive over virtio-serial/TCP/HTTP — per-OS forks, shared wire contract usable — ships in every golden image
research-vm-controller rvmc — the analysis→revival workbench controller alpha — published + deployed, in active use with proven revivals; APIs still in flux

rvmc is alpha. It's published, deployed, and in active use, with revivals proven end-to-end — but its APIs are still moving, so treat it as pre-release rather than stable. Follow its progress on vmctl.org.

Docs

Cross-cutting documentation lives in its own repo (vmctl-docs), wired here as the docs/ submodule so a recursive clone still gets it. It is the source for docs.vmctl.org — generated from the repo with its own CI, separate from the code's release cadence. Holds getting-started/, guides/, operations/, reference/, and the whitepaper/ source. Per-repo docs stay in each code submodule.

Clone

git clone --recurse-submodules https://github.com/zkmkarlsruhe/vmctl.git

A recursive clone brings all seven members co-located, so autopsy's ../vmctl-core path-dep and the ../wayback-mcp side-car build resolve. To try the analysis: cd vmctl/artwork-autopsy and follow its README Quickstart.

License

MIT — a ZKM Open-Source project, Center for Art and Media Karlsruhe. Not affiliated with The Sleuth Kit's Autopsy; artwork-autopsy shares the forensic-dissection metaphor, not the codebase.

About

Open-source conservation tooling for born-digital art — analyse, revive, exhibit. ZKM | Karlsruhe

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors