Link Search Menu Expand Document

CloudCtl | Koffer

Artifact Rake & Bundle Utility

Docker Pulls GitHub Workflow Status
Find on &
Find on GitHub

Koffer is an ansible automation runtime for declarative artifact rake and bundle tasks in support of Declarative Software Supply Chain and airgap operations. Current capabilities include support for dependencies required to deploy Red Hat OpenShift Infrastructure, Pipelines, and applications into airgaped environments. Koffer is driven from a yaml spec engine and is designed to run against compliant external collector plugin repos.


Artifact Types:

  • Git Repos
  • Terraform IaC
    • Performs terraform init at time of capture
  • Container Images
    • Pulls & hydrates built in docker registry service to persistent local path
    • High side is served with generic docker registry:2 container
  • Extensible support for other ansible, python, go, and bash based tasks


Koffer produces a standardized tarball of all artifacts on the host filesystem at bundle/koffer-bundle.*.tar

Example Usage

  • Example run in unattended mode
  • Example run with local koffer.yml config
  • Example run from Sparta collector/site.yml

1. Copy & Paste your Pull Secret (registry credentials)

  • Koffer will use the registry credentials for container image downloads
    vi ${HOME}/pull-secret.json

    3. Create Koffer Bundle Directory

    mkdir ${HOME}/bundle

3. Download Koffer Config

curl --output ./koffer.yml -L

3. Run Koffer

podman run -it --rm --pull always \
    --volume ${HOME}/bundle:/root/bundle:z \
    --volume ${HOME}/koffer.yml:/root/.koffer/config.yml:z \
    --volume ${HOME}/pull-secret.json:/root/.docker/config.json:z \ bundle --silent

4. Verify Bundle

du -sh ${HOME}/bundle/*