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
inconfig/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 bymake 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:
docker
: config.json,podman
: auth.json,none
(containerd): uses docker’s , certificate configuration
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.