By default when you install CEKit, only required core dependencies are installed. This means that in order to use some generators or builders you may need to install additional software.
Building container images for various platforms requires many dependencies to be present. We don’t want to force installation of unnecessary utilities thus we decided to limit dependencies to the bare minimum (core dependencies).
If a required dependency (for particular run) is not satisfied, user will be let know about the fact. In case of known platforms (like Fedora or RHEL) we even provide the package names to install (if available).
Below you can see a summary of CEKit dependencies and when these are required.
Contents
Following Python libraries are required to run CEKit:
Note
For more information about versions, please consult the Pipfile
file available in the CEKit repository.
Additionally, we require Git to be present since we use it in many places.
This section describes builder-specific dependencies.
docker
command directly.
Both, old (docker-py
) and new (docker
) library is supported.After an image is built, all layers added by the image build process are squashed together with this tool.
Note
We are aware that Docker now supports the --squash
parameter, but it’s still an experimental
feature which requires reconfiguring the Docker daemon to make it available. By default it’s
disabled. Instead relying on this, we use a proven tool that works in any case.
Important
If run within the Red Hat environment additional dependencies are required.
odcs
commandgenerate
command and --build-engine buildah
or --build-engine docker
parameters are used. This package is available for Fedora and the CentOS family in the EPEL repository.
For RHEL/Fedora OS’es this is satisfied by installing the odcs-client
package.brew
commandImportant
If run within the Red Hat environment additional dependencies are required. See the note in the Docker section above for more details.
Important
If run within the Red Hat environment additional dependencies are required. See the note in the Docker section above for more details.
koji
commandkoji
command is used to interact with the Koji API to execute the build.fedpkg
commandImportant
If run within the Red Hat environment above dependencies are replaced with Red Hat specific tools:
koji
is replaced by brew
command (or brew-stage
if run with the --stage
parameter)fedpkg
is replaced by rhpkg
command (or rhpkg-stage
if run with the --stage
parameter)For more information about testing, please take a look here.
Test dependencies can vary. CEKit uses a plugable way of defining Behave steps. The default test steps are located in https://github.com/cekit/behave-test-steps repository. You can find there more information about the current dependencies.