Skip to content

Foundational components used to build application containers without privileges.

License

Notifications You must be signed in to change notification settings

Snakdy/container-build-engine

Repository files navigation

Container Build Engine

Foundational components used to build application containers without privileges.

How it works

CBE is similar to tools like Jib and Ko in that it builds a virtual file system (which may include an application, or applications) and then appends that to a "base" container image.

CBE uses the concept of a pipeline. A pipeline contains a set of statements which execute a piece of logic.

An example of a statement includes:

  • Setting an environment variable
  • Downloading a file
  • Creating a symbolic link

Custom statements can be included to add custom functionality (e.g. installing packages, building an executable application).

Usage

Usage documentation can be found in the docs directory.

Reference implementation

CBE includes a reference implementation that builds a container from a YAML configuration file. While it's not exactly production-ready, there's nothing stopping you from using it.

The bulk of it can be found in the cmd/build.go file.

Example configuration files can be found in the fixtures/v1 directory.