Iron Bank Manifest Utility (IB Manifest)
An Open Source tool for updating Iron Bank Images
Overview
Updating packages for a Docker Image in the Iron Bank Image Repository can be
time consuming since it requires that you rebuild multiple files and run
multiple separate processes. IB Manifest
captures all those tasks and provides
a single function that can be run to update all the necessary files.
What's happening behind the scenes:
- User manually updates/adds a package into
local_channel_env.yaml
- Run conda-vendor vendor using the
local_channel_env.yaml
to construct a local channel - Copy both
linux-64/repodata.json
andnoarch/repodata.json
from the local channel to /config in the IB repo - Run
conda-vendor ironbank-gen
using thelocal_channel_env.yaml
to createib_manifest.yaml
- Copy the
ib_manifest.yaml
contents intohardening_manifest.yaml
- Create a new
Dockerfile
with the new package(s)
Schematic of the IB Manifest Workflow:
Once those steps are done, users manually commit linux-64/repodata.json
,
noarch/repodata.json
, hardening_manifest.yaml
and Dockerfile
to git, which
then kicks off the Iron Bank workflow below (outside the scope of this package).
Schematic of the Iron Bank GitLab CI Workflow:
Next Steps
From here, you may be interested in reviewing the Getting Started section, or if you've already installed IB Manifest, you can check out the docs on updating an Iron Bank repo.