CloudCtl | Koffer
Artifact Rake & Bundle Utility
Find on Docker.io & Quay.io
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.
Dependencies
- Install Podman
- Alternate: may work with docker in most cases
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
Output:
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 https://codectl.io/docs/config/stable/sparta.yml
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 \
quay.io/cloudctl/koffer:latest bundle --silent
4. Verify Bundle
du -sh ${HOME}/bundle/*