Ducttape logo

Ducttape Infra tools

View on GitHub ↗

Like Dockerfiles, Ducttape Infra tools describe how to customize a base cloud image, installing packages, configuring services, and enabling systemd units, producing reusable virtual machine images. Machinefiles are compatible with Podman and Docker Containerfiles, so you can create both containers and virtual machines from the same file!

It is not meant to replace tools you have, but rather augment, such as Lima. This is also not replacing bootc, but rather provides you with a similar experience to prepare cloud-init based images using Containerfiles, while still using a mutable Virtual Machine, ideal for experimentation.

CLI

Ducttape

A command-line tool that bridges container-like workflows with VM management. Build, run, and share VM images using a syntax and lifecycle similar to Docker or Podman, powered by the Machinefile format.

Library
CLI

Machinefile

A lightweight execution engine that parses and executes Dockerfile or Containerfile instructions directly on a host system. It bridges the gap between container-native configuration formats and traditional host-based automation by treating a host (local or remote) as the target "container."

Format
CLI

Actionfile

A Markdown-based configuration file that describes a set of actions, scripts, or tasks for use in automation workflows, dotfile management, or application deployment. Combines documentation, configuration, and executable code blocks in one file.

Integration with existing tools

Ducttape Infra tools are all about re-use and integration with existing workflows. For example, we have examples with Packer which implements the Container-to-VM pattern using Machinefiles.

Compatible with Podman and Docker Containerfiles - the same file can produce both a container image and a VM image. Backed by Lima for fast, reliable QEMU-based virtualisation.

Browse examples ↗