Files
brian.long 773c2674d6
Base Runner / Containerd-Build (push) Failing after 6s
Base Runner / Containerd-Push-Sha (push) Skipped
Base Runner / Containerd-Push-Ref (push) Skipped
added gitea workflow
2026-09-08 17:30:19 -04:00

3.5 KiB

Base Runner Image

This is a base container image for CI/CD processes.

Description

Based on the Debian Slim series of images, this image provides common tools for continuous integration/delivery. It is only for build, not runtime purposes. These are used by GitHub, GitLab, and Gitea runners to perform builds, releases, and related tasks.

Features

Inherited

This image provides everything Debian Slim provides.

Tools

This following tools are installed and available with this image.

tar
TAR extraction or creation
gzip
GZIP or tar.gz extraction or creation
zip/unzip
ZIP extraction or creation
curl
HTTP service calls, including downloads
jq
JSON parsing and modification
xmlstarlet
XML parsing and modification
git
Git source control

Extensible ENTRYPOINT

This base image implements a universal ENTRYPOINT script that executes all executable scripts in /opt/containerd that end with .sh. This provides the ability for all extending container images to include their own entrypoint script without overriding or shadowing any ancestral entrypoint.

This is nothing to the CMD directive, but if specified by an extending image, it will be respected.

Tags

A version labeled latest always exists.

Tag Description
latest The latest version
X The latest version within the specified major version X.
X.Y The latest version within the specified minor version X.Y.
X.Y.Z A specific version.

Runtime Configuration

Environment Variables

Name Required Default Purpose
GIT_CONFIG_USER_NAME No Initialize Git to use this user.name.
GIT_CONFIG_USER_EMAIL No Initialize Git to use this user.email.
CURL_CONFIG_DIR No /opt/etc/curl Expected location of Curl configuration files.
CURL_CONFIG_IDS No Create Curl configuration file(s) using values provided in corresponding environment variables.
CURL_CONFIG_*_USERNAME No An HTTP BASIC username for a corresponding Curl configuration.
CURL_CONFIG_*_PASSWORD No An HTTP BASIC password for a corresponding Curl configuration.
CURL_CONFIG_IDS
The expected format: <id>:<key> [<id>:<key> [<id>:<key> ...]]. The key is used in place of the * in the environment variables above. The ID is used in the configuration filename.

Examples

Here are sample environment variable definitions:

GIT_CONFIG_USER_NAME=John Doe
GIT_CONFIG_USER_EMAIL=john.doe@inteligr8.com
CURL_CONFIG_IDS="biz1:BIZ1 biz2:BIZ2"
CURL_CONFIG_BIZ1_USERNAME=john.doe
CURL_CONFIG_BIZ1_PASSWORD=
CURL_CONFIG_BIZ2_USERNAME=jane.doe
CURL_CONFIG_BIZ2_PASSWORD=

Here is the corresponding usage of curl with the configuration:

curl --config ${CURL_CONFIG_DIR}/biz1.cfg ...
curl --config ${CURL_CONFIG_DIR}/biz2.cfg ...

This is expected to be extended or used directly for simple CI/CD runners.

Contributing

You are welcome to copy the repository, but please open an issue first to avoid fragmentation.

Development

References