Design Philosophy

The design philosophy behind a language influences its features, syntax, and intended use cases, guiding developers in adopting best practices and idiomatic approaches

Programming languages

Learn the main programming languages involved in the project: Go, Shell, Makefile

Alpine Linux

A lightweight Linux distribution used as the base for the container images built with apko.

apk

The Alpine Package Manager used to install packages and manage dependencies within the container images.

Open Containers Initiative

A community-driven effort to define open industry standards for container formats and runtime environments.

s6 supervision suite

A lightweight init system and supervision suite used to manage processes in the container images.

Homebrew

A package manager for macOS used to install apko.

Go

A programming language used to develop apko and its sister tool melange.

Docker

A containerization platform used to run and manage containers, including the apko container image.

Lima

A tool for running Alpine Linux VMs on macOS, used as an alternative to Docker for building images.

YAML

A markup language used to define the contents of apko files, including the packages to install and the entrypoint for the container.

SBOM

A document that lists all the components, including their versions, used to build a software project or container image. Apko generates an SBOM for each container image it builds.