Containers

Supported Builders

The following are the expected build tooling to create images:

  • img

  • docker.io

Lifecycle

Images are expected to be managed by version control and pushed to a registry with CI/CD. Images should not be pushed manually under most circumstances as whatever the image needs to be recreated should be queryable from CI/CD.

Scheduled Rebuilds

Because containers do not regularly receive security updates containers are expected to be periodically rebuilt on, at max, a weekly basis.

Users who expect the most recent updates for a given tag should fetch that image deliberately before compiling their own images.

Labels

Annotations

Also known as "Labels".

Images are expected to contain the "standard labels" as defined by the OCI annotations specification[1].

Expressed in the docker build syntax these are:

# Where the source for the image comes from
ENV GIT_ORIGIN="https://github.com/littlemanco/docker--foo"

# The build date in RFC3399 format. For example,
#
#   $ date--rfc-3339=seconds
#   2019-09-20 09:31:02+02:00
#
ARG BUILD_DATE

# The git hash in long format. For example,
#
#   $ git rev-parse HEAD
ARG GIT_HASH

LABEL org.opencontainers.image.ref.name="foo"
LABEL org.opencontainers.image.title="Foo"
LABEL org.opencontainers.image.description="The Foo service"
LABEL org.opencontainers.image.created="$BUILD_DATE"
LABEL org.opencontainers.image.authors="littleman.co <support@littleman.co>"
LABEL org.opencontainers.image.url="$GIT_ORIGIN"
LABEL org.opencontainers.image.documentation="$GIT_ORIGIN"
LABEL org.opencontainers.image.licenses="MIT"

# Valid for GitHub URLs only
LABEL org.opencontainers.image.source="$GIT_ORIGIN/blob/$GIT_HASH/Dockerfile"

# The value of packaged software
LABEL org.opencontainers.image.version="0.0.0"
LABEL org.opencontainers.image.revision="$GIT_HASH"
LABEL org.opencontainers.image.vendor="littleman.co"
Found a bug? Got a correction? You can edit this page on GitHub