Artifact Naming Convention
There are many different artifacts that Kairos produces. In this page we try to summarize them all and have a clear naming convention for them.
Info
Architecture names are based on the Go architecture names, soamd64 is used instead of x86_64, 386 instead of i386 and arm64 instead of aarch64.
Images
OS images are stored in GitHub Releases, so the name of the artifact includes all the information about the image. The only exception is when the image is too big to be stored in GitHub Releases, in that case the image is stored in Quay.io.
The format of the name is the following:
kairos-<variant>-<flavor>-<arch>-<device>-<version>.<extension>
Where:
<variant>:coreorstandard<flavor>: Underlying Linux distribution e.g.ubuntu,debian,fedora,alpine, etc<arch>:amd64orarm64<device>: either the specific device name, e.g.rpi64orgenericfor generic images<version>: the version of Kairos e.g.v1.0.0for Core, and can also include the K3S version e.g.v1.0.0-k3s1for Standard<extension>:iso,squashfs,ipxe
Examples
kairos-core-ubuntu-amd64-generic-v1.0.0.isokairos-standard-ubuntu-arm64-rpi64-v1.0.0-k3s1.img
Kernel and RAM Disk Images
Kernel and RAM Disk images are stored in GitHub Releases and follow a similar convention to images, but they have no extension:
kairos-<variant>-<flavor>-<arch>-<device>-<version>-<type>
Where:
<type>:kernelorinitrd
Examples
kairos-core-ubuntu-amd64-generic-v1.0.0-kernelkairos-standard-ubuntu-arm64-rpi64-v1.0.0-k3s1-initrd
iPXE Images
For iPXE we deliver three types of artifacts. The first one is the iPXE script, with the ipxe extension, and the other two are iPXE bootable images, with the iso and img extensions.
Examples
kairos-core-ubuntu-amd64-generic-v1.0.0.ipxekairos-core-ubuntu-amd64-generic-v1.0.0-ipxe.isokairos-core-ubuntu-amd64-generic-v1.0.0-ipxe-usb.img
Reports
Reports are also stored in GitHub Releases and follow a similar convention to images, but they include the name of the report:
kairos-<variant>-<flavor>-<arch>-<device>-<version>-<report>.<extension>
Where:
<report>:trivy,sbom,grype, etc
Examples
kairos-core-alpine-arm64-generic-v1.0.0-trivy.sarifkairos-core-alpine-arm64-generic-v1.0.0-grype.json
Container Images
Warning
The repositories are not yet available, they will be published soon.Container images are stored in Quay.io and follow the following convention:
domain/kairos/<variant>-<flavor>-<device>:<version>
This nomenclature for container images lacks some information for the following reasons:
- Docker repositories can be multi-arch, so the same image can be used in different architectures and therefore the name does not include the architecture.
- The version is not included in the image name, but in the tag.
- The name Kairos is already part of the repository name, so it is not included in the image name.
Examples
- quay.io/kairos/core-ubuntu-generic:v1.0.0
IMG Images
As mentioned before, some images are too big to be delivered via GitHub Releases, so they are stored in Quay.io. At the moment this is only for arm .img images.
The convention is the following:
domain/kairos/<variant>-<flavor>-<device>-<extension>:<version>
Examples
- quay.io/kairos/core-ubuntu-generic-img:v1.0.0
Framework images
All different framework flavors are stored in the same image, so the details are included in the tag. The name is simplified since not all attributes apply for framework images.
domain/kairos/framework:<version>_<flavor>
Examples
- quay.io/kairos/framework:v1.0.0_ubuntu
- quay.io/kairos/framework:master_alpine
Binaries
<name>-<version>-<os>-<arch>.<extension>
Where:
<name>: the name of the binary e.g.kairosctl,kairos-agent,provider-kairos, etc<version>: the version of the binary e.g.v1.0.0<os>:Linux,Windows,Darwin, etc<arch>:amd64,arm64,386, etc<extension>:tar.gz,zip, etc
Examples
- kairosctl-v2.3.0-Linux-386.tar.gz
- provider-kairos-2.3.0-Windows-amd64.tar.gz
- kairos-agent-v2.1.10-Linux-arm64.tar.gz
Feedback
Was this page helpful?
Awesome! Glad to hear it! Please tell us how we can improve.
Oh snap! Sorry to hear that. Please tell us how we can improve.