Skip to content

docs: decision note 0043, release formats (decided: ISO and tar.zst) - #34

Merged
marcos-mendez merged 3 commits into
mainfrom
docs/decision-0043-release-formats
Oct 1, 2026
Merged

marcos-mendez merged 3 commits into
mainfrom
docs/decision-0043-release-formats

Conversation

@marcos-mendez

@marcos-mendez marcos-mendez commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Decision note 0043, decided by the maintainer on 2026-10-01: release formats.

  • Published: only the hybrid ISO and the .tar.zst, the same rootfs in both.
    • The ISO covers VMware, VirtualBox, Proxmox VMs and bare metal.
    • The .tar.zst covers Proxmox and LXC, and Docker through docker import, which reads zstd since Docker Engine 23.0 (compression: add support for the zstd algorithm moby/moby#41759).
    • On Docker the appliance needs systemd as PID 1 (--privileged ... /sbin/init, or Sysbox), and first boot is not guaranteed there.
  • AWS and OpenStack: not downloads. A later phase adds keel assemble --format raw|qcow2, validated on real accounts.
  • Dropped: OVA, VMDK, qcow2, Xen, Docker image formats, AMIs and ARM.
  • Kept: names, layout on releases.keellinux.org, the signed SHA512SUMS, GitHub Releases (tags, assets, uploads only from the build host or an attended step), the first-boot table and the order of work.

The first implementation PR is Keel-Linux/buildtasks#16 (tracker#24).

Which formats Keel publishes besides the Proxmox template, measured
against what TurnKey ships today: TurnKey's own release metadata lists the
OVA, VMDK, OpenStack and Xen builds up to 15.x only, and 18.x and 19.0 as
ISO and Proxmox template; bt-vm cannot build trixie and needs ovftool.

Proposed: the template, the ISO, one qcow2 and the OVA (then the VMDK
zip), all wrapped around the template's own root filesystem on the build
host; Xen, Docker, the AMI and the ARM images dropped. Names follow the
template's, files are immutable per appliance release with SHA512SUMS
signed in the attended release, per channel indexes on
releases.keellinux.org, and GitHub Releases as a second copy uploaded from
the attended step, never from the runner. A table of what each format's
first boot makes for itself, the order of work starting with
buildtasks#16 and tracker#23, and the attended step as it will be.
The maintainer decided 0043 on 2026-10-01. Only the ISO and the .tar.zst
are published: the ISO covers VMware, VirtualBox, Proxmox VMs and bare
metal, the .tar.zst Proxmox, LXC and Docker through docker import, which
reads zstd since Docker Engine 23.0 (moby/moby#41759, pkg/archive's
DecompressStream, which image_import.go uses). The Docker section says how
to run systemd as PID 1 (--privileged with /sbin/init, or Sysbox) and that
first boot and services are not guaranteed there as on LXC; Keel's own
tests stay on system containers.

AWS and OpenStack are not downloads: the container tarball has no kernel
or boot loader, and a later phase adds keel assemble --format raw|qcow2,
validated on real accounts. OVA, VMDK, qcow2, Xen, the Docker image
formats, AMIs and ARM are dropped. GitHub Releases, names, layout,
checksums and the first boot table are kept for the two files; the order
of work, the attended step and the index row follow, and the proposal is
recorded under Resolved.
@marcos-mendez marcos-mendez changed the title docs: decision note 0043, release formats (proposed) docs: decision note 0043, release formats (decided: ISO and tar.zst) Oct 1, 2026
@marcos-mendez
marcos-mendez merged commit 6e03b15 into main Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant