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.17.2

  • podman version 1.4.4+

  • An Operator project generated using the Operator SDK

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

    $ operator-sdk bundle create \
        quay.io/<namespace>/test-operator:v0.1.0 \(1)
        -b podman (2)
    1 The image tag that you want the bundle image to have.
    2 The 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/test-operator/manifests, specify the location with the --directory flag.

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

    $ podman login quay.io
  3. Push the bundle image to the registry:

    $ podman push quay.io/<namespace>/test-operator:v0.1.0
  4. Validate the bundle image in the remote registry:

    $ operator-sdk bundle validate \
        quay.io/<namespace>/test-operator:v0.1.0 \
        -b podman
    Example output
    INFO[0000] Unpacked image layers                                 bundle-dir=/tmp/bundle-041168359 container-tool=podman
    INFO[0000] running podman pull                                   bundle-dir=/tmp/bundle-041168359 container-tool=podman
    INFO[0002] running podman save                                   bundle-dir=/tmp/bundle-041168359 container-tool=podman
    INFO[0002] All validation tests have completed successfully      bundle-dir=/tmp/bundle-041168359 container-tool=podman

Additional resources