Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
contemper
command
Command contemper converts a contemper-ready OCI image into a bootable VM disk bundle, and can deploy that bundle locally for testing.
|
Command contemper converts a contemper-ready OCI image into a bootable VM disk bundle, and can deploy that bundle locally for testing. |
|
hack
|
|
|
distro-entry
command
Command distro-entry reads the distribution matrix.
|
Command distro-entry reads the distribution matrix. |
|
distro-report
command
Command distro-report turns the results of a distribution test run into GitHub issues: one issue per matrix entry and architecture, opened when it fails, commented on when it keeps failing, and closed when it passes again.
|
Command distro-report turns the results of a distribution test run into GitHub issues: one issue per matrix entry and architecture, opened when it fails, commented on when it keeps failing, and closed when it passes again. |
|
volumes-support/buildimg
command
Command buildimg builds and pushes the volume-formatting support image and its two init-system variant images (support/volumes-support/{base,openrc,systemd}) as multi-platform (linux/amd64, linux/arm64) indexes, for a given registry prefix and tag - the content is architecture-independent (a POSIX sh script, an OpenRC init script, a systemd unit and its enablement symlink), so each platform's image differs only in its config's declared architecture, not its files.
|
Command buildimg builds and pushes the volume-formatting support image and its two init-system variant images (support/volumes-support/{base,openrc,systemd}) as multi-platform (linux/amd64, linux/arm64) indexes, for a given registry prefix and tag - the content is architecture-independent (a POSIX sh script, an OpenRC init script, a systemd unit and its enablement symlink), so each platform's image differs only in its config's declared architecture, not its files. |
|
internal
|
|
|
buildinfo
Package buildinfo reports the contemper version, commit and build date.
|
Package buildinfo reports the contemper version, commit and build date. |
|
bundle
Package bundle writes contemper.json, the manifest that accompanies a bundle's disk file: which image it came from, which target was resolved, and what the image declared (volumes, ports, ...).
|
Package bundle writes contemper.json, the manifest that accompanies a bundle's disk file: which image it came from, which target was resolved, and what the image declared (volumes, ports, ...). |
|
disk
Package disk builds the on-disk artifacts of a contemper bundle: the ext4 root filesystem (via mkfs.ext4 + debugfs, never by extracting image content to the host filesystem under its real name), the FAT32 ESP (via go-diskfs), the GPT layout tying them together, and the qcow2 conversion.
|
Package disk builds the on-disk artifacts of a contemper bundle: the ext4 root filesystem (via mkfs.ext4 + debugfs, never by extracting image content to the host filesystem under its real name), the FAT32 ESP (via go-diskfs), the GPT layout tying them together, and the qcow2 conversion. |
|
guestmeta
Package guestmeta renders the convert-time-only facts contemper writes into a bundle's guest filesystem under /etc/contemper/, and the fstab lines it appends for declared volumes.
|
Package guestmeta renders the convert-time-only facts contemper writes into a bundle's guest filesystem under /etc/contemper/, and the fstab lines it appends for declared volumes. |
|
hostenv
Package hostenv discovers the host tools contemper shells out to (mkfs.ext4, debugfs, e2fsck, qemu-img, qemu-system-*), looking on PATH first and then in well-known Homebrew keg-only locations, and prints an install hint when a tool is missing.
|
Package hostenv discovers the host tools contemper shells out to (mkfs.ext4, debugfs, e2fsck, qemu-img, qemu-system-*), looking on PATH first and then in well-known Homebrew keg-only locations, and prints an install hint when a tool is missing. |
|
imagebuild
Package imagebuild drives a container build engine - `docker buildx build` or `podman build` - as a subprocess, for `contemper build` to build an image before handing it to the docker-daemon: or containers-storage: source.
|
Package imagebuild drives a container build engine - `docker buildx build` or `podman build` - as a subprocess, for `contemper build` to build an image before handing it to the docker-daemon: or containers-storage: source. |
|
imgtest
Package imgtest builds synthetic in-process OCI images for tests, so merge/validate/support logic can be exercised without a registry or a real container build.
|
Package imgtest builds synthetic in-process OCI images for tests, so merge/validate/support logic can be exercised without a registry or a real container build. |
|
limits
Package limits bounds how much content contemper accepts from an image while merging its layers and unpacking archives.
|
Package limits bounds how much content contemper accepts from an image while merging its layers and unpacking archives. |
|
localqemu
Package localqemu implements the per-instance state `deploy --to local-qemu` keeps between deploys: a state directory, and one qcow2 file per declared volume inside it, created once and reused on later deploys while the root disk itself resets every time (booted with qemu's snapshot=on).
|
Package localqemu implements the per-instance state `deploy --to local-qemu` keeps between deploys: a state directory, and one qcow2 file per declared volume inside it, created once and reused on later deploys while the root disk itself resets every time (booted with qemu's snapshot=on). |
|
progress
Package progress renders the convert/deploy pipelines' progress output: one icon-and-two-column line per stage (name on the left, status/timing on the right).
|
Package progress renders the convert/deploy pipelines' progress output: one icon-and-two-column line per stage (name on the left, status/timing on the right). |
|
qemu
Package qemu implements `deploy --to local-qemu`: booting a contemper bundle's disk under a host-discovered qemu-system-* binary with UEFI firmware, snapshot=on so the bundle disk stays pristine.
|
Package qemu implements `deploy --to local-qemu`: booting a contemper bundle's disk under a host-discovered qemu-system-* binary with UEFI firmware, snapshot=on so the bundle disk stays pristine. |
|
rootfs
Package rootfs builds the merged filesystem view of a source image (plus an optional support-image overlay) as a flattened tar stream on disk, and provides safe, index-based lookup and symlink resolution over it without ever extracting file content to the host filesystem under its real name or ownership.
|
Package rootfs builds the merged filesystem view of a source image (plus an optional support-image overlay) as a flattened tar stream on disk, and provides safe, index-based lookup and symlink resolution over it without ever extracting file content to the host filesystem under its real name or ownership. |
|
source
Package source resolves a contemper source reference (a registry image, an OCI archive, an OCI layout directory, a docker-archive tarball, or an image already loaded into the local Docker daemon) into a platform-selected v1.Image, and checks the contemper readiness label before any layer content is fetched.
|
Package source resolves a contemper source reference (a registry image, an OCI archive, an OCI layout directory, a docker-archive tarball, or an image already loaded into the local Docker daemon) into a platform-selected v1.Image, and checks the contemper readiness label before any layer content is fetched. |
|
subprocess
Package subprocess builds *exec.Cmd values for the host tools contemper shells out to (mkfs.ext4, debugfs, e2fsck, qemu-img, qemu-system-*, docker), with consistent behavior when their context is canceled - in particular, when contemper itself is asked to stop by SIGINT or SIGTERM (see cmd/contemper's signal handling).
|
Package subprocess builds *exec.Cmd values for the host tools contemper shells out to (mkfs.ext4, debugfs, e2fsck, qemu-img, qemu-system-*, docker), with consistent behavior when their context is canceled - in particular, when contemper itself is asked to stop by SIGINT or SIGTERM (see cmd/contemper's signal handling). |
|
support
Package support parses and resolves a support image's declarations (carried as image config labels): its unconditional file requirements, and its branch/variant declarations.
|
Package support parses and resolves a support image's declarations (carried as image config labels): its unconditional file requirements, and its branch/variant declarations. |
|
target
Package target maps a target name to its canonical spelling and Assembler, and implements the UEFI qcow2 assembler shared by the qemu and incus targets: UKI (or the image's own bootloader), then GPT/ESP/ext4, then qcow2.
|
Package target maps a target name to its canonical spelling and Assembler, and implements the UEFI qcow2 assembler shared by the qemu and incus targets: UKI (or the image's own bootloader), then GPT/ESP/ext4, then qcow2. |
|
uki
Package uki builds a Unified Kernel Image: a systemd-stub UEFI binary with .osrel, .cmdline, .initrd and .linux sections appended, in that order, the way systemd-ukify lays them out.
|
Package uki builds a Unified Kernel Image: a systemd-stub UEFI binary with .osrel, .cmdline, .initrd and .linux sections appended, in that order, the way systemd-ukify lays them out. |
|
validate
Package validate checks the merged rootfs against contemper's fixed path contract: a kernel, an initrd and an init binary, plus an optional command line, at fixed locations.
|
Package validate checks the merged rootfs against contemper's fixed path contract: a kernel, an initrd and an init binary, plus an optional command line, at fixed locations. |
|
volume
Package volume implements contemper's volume declaration model: naming (explicit or derived from the path), size parsing, and turning an image's `VOLUME` paths plus its `io.contemper.volume.*` labels into resolved Spec values.
|
Package volume implements contemper's volume declaration model: naming (explicit or derived from the path), size parsing, and turning an image's `VOLUME` paths plus its `io.contemper.volume.*` labels into resolved Spec values. |
|
volumehelper
Package volumehelper resolves and loads contemper's automatically merged volume-formatting support image: the same schema/predicate mechanism a user's own --support image uses (see internal/support), applied to a fixed, contemper-supplied image instead of one named on the command line.
|
Package volumehelper resolves and loads contemper's automatically merged volume-formatting support image: the same schema/predicate mechanism a user's own --support image uses (see internal/support), applied to a fixed, contemper-supplied image instead of one named on the command line. |
|
test
|
|
|
distros
Package distros describes the distribution test matrix: the entries in matrix.json, each naming a test image (test/distros/<containerfile>) and the base image and build arguments it is built with.
|
Package distros describes the distribution test matrix: the entries in matrix.json, each naming a test image (test/distros/<containerfile>) and the base image and build arguments it is built with. |
Click to show internal directories.
Click to hide internal directories.