apko

Apko is a tool for building and publishing OCI container images using apk packages. The motivation for learning apko is to understand how to create reproducible, fast, and small container images with SBOM support.

Install

There are multiple ways to install apko, including using Homebrew, installing from source, or using the apko container image. Understanding how to install apko is essential for getting started.

Command Reference

Familiarize yourself with the various apko commands, such as build, publish, and lint, to effectively use the tool.

Troubleshooting & Debugging

Learn how to troubleshoot and debug issues that may arise while using apko, including common errors and how to resolve them.

Deployment

Understand how to deploy apko in various environments, including using Docker and Lima, and how to load and publish generated images.

Repositories

Learn how to configure and manage repositories in apko files.

Packages

Understand how to specify packages in apko files and how to install custom packages using melange.

Environment Configuration

Learn how to configure the environment for apko, including setting the PATH and other environment variables.

Services

Understand how to use the s6 supervision suite to run multiple processes in a container without reaping or signalling issues.

SBOM

Learn how to generate and interpret Software Bill of Materials for apko images.

Fetch

Understand how to use the pkg/fetch package to fetch packages and dependencies.

Logging

Learn how to use the pkg/log package for logging in apko.

Options

Understand how to use various options in apko files, such as the entrypoint and environment options.

VCS

Learn how to use version control systems, such as Git, with apko.

Tarfs

Understand how to use the pkg/tarfs package for creating filesystems in memory.

Vfs

Learn how to use the pkg/vfs package for working with virtual filesystems.

S6

Understand how to use the s6 supervision suite to manage services in apko containers.

Melange

Learn how to use melange to package custom tools and applications for use in apko.

Ko

Understand the relationship between apko and the ko project and how they can be used together.

Lima

Learn how to use Lima to run an Alpine Linux VM for apko development on a Mac.

CI

Understand how to use apko in continuous integration pipelines and how to configure CI tasks.