OLM and Bundle CLI Overview

    The following operator-sdk subcommands manage an OLM installation:

    • olm install: install a particular version of OLM.
    • : check the status of a particular version of OLM running in a cluster. This command can infer the version of an error-free OLM installation.

    Manifests and metadata

    The following make recipes and operator-sdk subcommands create or interact with Operator package manifests and bundles:

    • : creates kustomize bases and a kustomization.yaml in config/manifests.
    • make bundle: runs the following commands:
      • generate kustomize manifests: see above.
      • : creates a new or updates an existing bundle in the <project-root>/bundle directory. This command generates both manifests and metadata.
      • bundle validate: validates an Operator bundle image or unpacked manifests and metadata.
    • : builds a bundle image using the bundle.Dockerfile generated by make bundle.
    • : runs the given Operator’s bundle image with an existing OLM installation.

    Private bundle and catalog image registries

    All bundle and catalog image-related commands invoke (except for bundle image builds, for which docker is used directly). opm leverages the host’s image build/pull tools indirectly to perform various image tasks, so if your image registry is private or has a custom CA you must ensure the in-use build tool is able to push to/pull from the registry:

    The run bundle or run bundle-upgrade commands use the none image tool, described above, in-cluster. These commands accept the names of secrets available in the deployment namesace that contain configuration file data. Ideally a cluster admin will provision a namespace and service account for bundle testing, such that they include and reference these secrets:

    • Create a with a cert.pem key containing root certificate(s) for your registry.

    Once the above secrets have been created, run the either command with --pull-secret-name=<image pull secret> and --ca-secret-name=<certificate secret>:

    Package Manifests

    • : creates a new or updates an existing versioned directory as part of the package manifests in the directory.
    • run packagemanifests: runs an Operator’s package manifests format with an existing OLM installation.