2.9 KiB
Building
Because this project consumes itself, when there was no base-runner image, there was no containerd-runner image, which makes this project unable to build using GitHub/Gitea workflows. For that reason, there is a separately maintained set of build scripts under cicd/. It serves as the original template for the Gitea workflow (.gitea/workflows/).
Environment Variables
Whether executing the build via cicd/ shell scripts or through Gitea workflows, there are several variables to consider.
Public
These are the variables you are expected to tweak.
| Name | Required | Default | Purpose |
|---|---|---|---|
CONTAINERD_REGISTRY_HOST |
No | docker.inteligr8.com |
The containerd registry to publish the built container image. |
CONTAINERD_DEBUG |
No | Set to any value to enable debug mode. | |
DEBIAN_VERSION |
No | stable-20260824 |
The base version of Debian to use. The slim variant is automatically selected. |
Private
These are the variables you are not expected to tweak.
| Name | Required | Default | Purpose |
|---|---|---|---|
CONTAINERD_IMAGE_NAMESPACE |
No | inteligr8/ |
A prefix for the containerd image name. |
CONTAINERD_IMAGE_NAME |
No | base-runner |
The containerd image name. |
CONTAINERD_CMD |
No | buildah |
The CLI tool to use to build the containerd image name. (e.g. buildah, podman, or docker) |
CONTAINERD_BUILD_FORMAT |
No | docker |
The containerd build format for the CLI tool to use. (e.g. oci or docker) |
SKOPEO_OPTS |
No | Extra options to pass the skopeo CLI tool. |
|
CONTAINERD_CMD_OPTS |
No | Extra options to pass the containerd CLI build tool. |
Shell Execution
The shell script will build the container and name it according to the variables above. By default, the tag will be the short SHA of the Git commit HEAD (current). The tag will have the format: sha1234567. This means that if you want to rebuild without any source changes, but using an updated Debian version, you should create a new commit. However, it is not actually necessary. However, we are using a specific version for DEBIAN_VERSION for the traceability. If we didn't care, we would just use stable.
GitHub/Gitea Workflow Execution
The workflow definition maps some variables to Inteligr8 variables:
INTELIGR8_REGISTRY_HOST => CONTAINERD_REGISTRY_HOST
INTELIGR8_IMAGE_NAMESPACE => CONTAINERD_IMAGE_NAMESPACE
Those values are expected to be the same across all projects.