Type ImageConfiguration
File match apko.json *.apko.json apko.yaml *.apko.yaml apko.yml *.apko.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/apko/latest.json
Source https://raw.githubusercontent.com/chainguard-dev/apko/main/pkg/build/types/schema.json

Validate with Lintel

npx @lintel/lintel check
Type: ImageConfiguration

Definitions

AdditionalCertificateEntry object
name string

Required: Name of the certificate entry

content string

Required: PEM-encoded certificate content to install in the image. Must contain exactly one certificate. The certificate will be:

  1. Appended to the default certificate bundles (e.g., /etc/ssl/certs/ca-certificates.crt)
  2. Installed as an individual file in the ca-certificates.
BaseImageDescriptor object
image string

Required: Path to the base image OCI layout. Right now only local files are supported.

apkindex string

Required: Path to file representing installed packages in the base image in APKINDEX format. (Assumes regular Alpine repository layout, that is: set /foo/bar if the index is /foo/bor/{aarch64|x86_64}/APKINDEX

Group object
groupname string

Required: The name of the group

gid integer

Required: The group ID

members string[]

Required: The list of members of the group

ImageAccounts object
run-as string

Required: The user to run the container as. This can be a username or UID.

users User[]

Required: List of users to populate the image with

groups Group[]

Required: List of groups to populate the image with

ImageCertificates object

Additional certificates to install in the image

providers string[]

Providers is a list of virtual package names that identify packages containing CA certificate files to be assembled into the system CA bundle.

ImageConfiguration object
contents object
6 nested properties
build_repositories string[]

A list of apk repositories to use for pulling packages at build time, which are not installed into /etc/apk/repositories in the image (to install packages at runtime)

runtime_repositories string[]

A list of apk repositories that are installed into /etc/apk/repositories in the image but not used at build time

repositories string[]

A list of apk repositories to use for pulling packages during both the initial construction of the image, and also at runtime by seeding them into /etc/apk/repositories in the resulting image.

keyring string[]

A list of public keys used to verify the desired repositories

packages string[]

A list of packages to include in the image

baseimage object
2 nested properties
image string

Required: Path to the base image OCI layout. Right now only local files are supported.

apkindex string

Required: Path to file representing installed packages in the base image in APKINDEX format. (Assumes regular Alpine repository layout, that is: set /foo/bar if the index is /foo/bor/{aarch64|x86_64}/APKINDEX

entrypoint object
4 nested properties
type string

Optional: The type of entrypoint. Only "service-bundle" is supported.

command string

Required: The command of the entrypoint

shell-fragment string

Optional: The shell fragment of the entrypoint command

services Record<string, string>
cmd string

Optional: The command of the container image

These are the additional arguments to pass to the entrypoint.

stop-signal string

Optional: The stop signal used to suspend the execution of the containers process

work-dir string

Optional: The working directory of the container

accounts object
3 nested properties
run-as string

Required: The user to run the container as. This can be a username or UID.

users User[]

Required: List of users to populate the image with

groups Group[]

Required: List of groups to populate the image with

archs string[]

Optional: List of CPU architectures to build the container image for

The list of supported architectures is: 386, amd64, arm64, arm/v6, arm/v7, ppc64le, riscv64, s390x, loong64

environment Record<string, string>

Optional: Environment variables to set in the container image

Optional: List of paths mutations

vcs-url string

Optional: The link to version control system for this container's source code

annotations Record<string, string>

Optional: Annotations to apply to the images manifests

include string

Optional: Path to a local file containing additional image configuration

The included configuration is deep merged with the parent configuration

Deprecated: This will be removed in a future release.

volumes string[]

Optional: A list of volumes to configure

This is not the same as Paths, but refers to the OCI spec "volumes" field used by some container runtimes (docker) to create volumes at runtime. For most use cases, this is not needed, but consider using this when the image requires special volume configuration at runtime for supported container runtimes.

layering object
2 nested properties
strategy string
budget integer
certificates object
2 nested properties

Additional certificates to install in the image

providers string[]

Providers is a list of virtual package names that identify packages containing CA certificate files to be assembled into the system CA bundle.

ImageContents object
build_repositories string[]

A list of apk repositories to use for pulling packages at build time, which are not installed into /etc/apk/repositories in the image (to install packages at runtime)

runtime_repositories string[]

A list of apk repositories that are installed into /etc/apk/repositories in the image but not used at build time

repositories string[]

A list of apk repositories to use for pulling packages during both the initial construction of the image, and also at runtime by seeding them into /etc/apk/repositories in the resulting image.

keyring string[]

A list of public keys used to verify the desired repositories

packages string[]

A list of packages to include in the image

baseimage object
2 nested properties
image string

Required: Path to the base image OCI layout. Right now only local files are supported.

apkindex string

Required: Path to file representing installed packages in the base image in APKINDEX format. (Assumes regular Alpine repository layout, that is: set /foo/bar if the index is /foo/bor/{aarch64|x86_64}/APKINDEX

ImageEntrypoint object
type string

Optional: The type of entrypoint. Only "service-bundle" is supported.

command string

Required: The command of the entrypoint

shell-fragment string

Optional: The shell fragment of the entrypoint command

services Record<string, string>
Layering object
strategy string
budget integer
PathMutation object
path string

The target path to mutate

type string

The type of mutation to perform

This can be one of: directory, empty-file, hardlink, symlink, permissions

uid integer

The mutation's desired user ID

gid integer

The mutation's desired group ID

permissions integer

The permission bits for the path

source string

The source path to mutate

recursive boolean

Toggle whether to mutate recursively

User object
username string

Required: The name of the user

uid integer

Required: The user ID

gid integer

Required: The user's group ID

shell string

Optional: The user's shell

homedir string

Optional: The user's home directory