Skip to content
SPECIFICTION
Get listed

KIWI NG vs ko

KIWI NG

osinside.github.io

ko

ko.build

Side by side

FigureKIWI NGko
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Windows—Yes
macOS—Yes
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Container Build Tools8.2 (#10)8.3 (#8)
Community supportThe project provides an open mailing list and a Matrix room for contact.The project offers a bi-weekly community meeting and discussion in the #ko-build channel on Kubernetes Slack.
PurposeKIWI NG is a command-line image builder that creates bootable, reproducible Linux images for virtual machines, cloud platforms, removable media, containers, and specialized deployment targets.ko is a simple, fast container image builder for Go applications.

Plans

KIWI NG

  • KIWI NGFree

KIWI NG pricing →

ko

  • koFree

ko pricing →

In their own words

KIWI NG

KIWI NG is a free, daemonless command-line image builder for Linux. It turns versioned image descriptions and package repositories into bootable, reproducible artifacts. A prepared root tree can produce disk images, ISO files, or containers for virtual machines, cloud platforms, removable media, and specialized targets. Descriptions define metadata, repositories, packages, users, storage, target configuration, and image types, using config.xml or a .kiwi file. Overlays, archives, and scripts add customization. Documented package managers include apk, apt, dnf4, dnf5, microdnf, pacman, and zypper. Supported distributions include Fedora, CentOS Stream, openSUSE, Ubuntu, Debian, and Arch Linux. Builds support multiple architectures and a local cache backend. Installation is available through distribution packages, Open Build Service, or pip. A recent Linux host, Python 3.9 or newer, Git, and at least 15 GB recommended free disk space are required. QEMU can optionally boot and inspect outputs; GPL-3.0 governs the source.

Visit osinside.github.io

ko

ko is an open-source builder for container images of Go applications. It runs `go build` locally, so Docker does not need to be installed. The project positions it for a single Go application with few operating-system base-image dependencies, such as one without cgo or OS package requirements. Builds can target all platforms supported by the configured base image or selected platforms such as linux/amd64 and linux/arm64. For Kubernetes, `ko resolve` builds images for `ko://` references in YAML and replaces those references with image references; `ko apply` can apply the resolved configuration. ko reuses the normal Go build cache and avoids pushing image blobs already present in the remote registry. It generates and uploads SPDX-format SBOMs by default, with an option to disable this. Registry credentials can come from Docker configuration, with built-in environment credential support for Google, Amazon, Azure, and GitHub container registries. A Terraform provider supports Infrastructure-as-Code workflows. ko supports Go applications only and defaults to CGO_ENABLED=0. Windows container image support is experimental and requires a Windows base image.

Visit ko.build