Working with bundle images

You can use the Operator SDK to package Operators using the Bundle Format.

Building a bundle image

You can build, push, and validate an Operator bundle image using the Operator SDK.

Prerequisites

  • Operator SDK version 0.19.4

  • podman version 1.9.3+

  • An Operator project generated using the Operator SDK

  • Access to a registry that supports Docker v2-2

Procedure

  1. From your Operator project directory, build the bundle image using the Operator SDK:

    1. $ operator-sdk bundle create \
    2. <registry>/<namespace>/<bundle_image_name>:<tag> \(1)
    3. -b podman (2)
    1The image tag that you want the bundle image to have.
    2The CLI tool to use for building the container image, either docker (default), podman, or buildah. This example uses podman.

    If your local manifests are not located in the default <project_root>/deploy/olm-catalog/<bundle_name>/manifests, specify the location with the —directory flag.

  2. Log in to the registry where you want to push the bundle image. For example:

    1. $ podman login <registry>
  3. Push the bundle image to the registry:

    1. $ podman push <registry>/<namespace>/<bundle_image_name>:<tag>
  4. Validate the bundle image in the remote registry:

    1. $ operator-sdk bundle validate \
    2. <registry>/<namespace>/<bundle_image_name>:<tag> \
    3. -b podman

    Example output

    1. INFO[0000] Unpacked image layers bundle-dir=/tmp/bundle-041168359 container-tool=podman
    2. INFO[0000] running podman pull bundle-dir=/tmp/bundle-041168359 container-tool=podman
    3. INFO[0002] running podman save bundle-dir=/tmp/bundle-041168359 container-tool=podman
    4. INFO[0002] All validation tests have completed successfully bundle-dir=/tmp/bundle-041168359 container-tool=podman

Additional resources