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.gzextraction 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 ...
Recommended Uses
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.