Different bundle types option in crc
CRC provides a config option called bundle
to configure the location of the bundle,
until 2.9 release of CRC the bundle option could only accept local filesystem path
which meant users needed to download the bundle in advance before consuming it. The move to a
container registry for hosting the okd and podman bundles, introduces another step in the
process as bundles are now generated as an OCI container image and the *.crcbundle file
needs to be extracted from the image.
Since this adds significant friction for users wanting to use different bundles, we decided to extend the bundle config option to also support container registry urls and http/https urls in addition to local filesystem paths.
Starting with CRC 2.9.0 release, bundle
config option supports three different way to configure
bundle location, these are explained below with use cases.
Case 1: If users want to use their own internal container registry for podman/okd bundles then they can
copy the bundle images from quay.io
to their internal container registry using skopeo.
# Copy latest 4.2.0 podman bundle to internal registry
$ skopeo copy -a docker://quay.io/crcont/podman-bundle:4.2.0 docker://<internal_registry>/podman-bundle:4.2.0
$ crc config set bundle docker://<internal_registry>/podman-bundle:4.2.0
$ crc config set preset podman
$ crc setup
$ crc start
Case 2: If user tries to use the bundle which is part of internal http/https location
$ crc config set bundle https://<internal_server>/crc_libvirt_4.11.3_amd64.crcbundle
$ crc setup
$ crc start
Case 3: If a user tries to use the bundle which is downloaded locally
$ crc config set bundle <local_bundle_path>
$ crc setup
$ crc start
As usual, we’d like to get as much feedback as possible on all this work!