Making your operator part of a catalog
Warning
TODO: This needs to be completed/checked for completion.The operator-registry project defines a format for storing sets of operators and exposing them to make them available on a cluster. The simplest way to test that your package can be added to a catalog is by actually attempting to create a catalog that includes your operator.
To create a catalog that includes your package, simply build a container image that uses the operator-registry command line tools to generate a registry and serve it. For example, create a file in the root of your project called registry.Dockerfile
FROM quay.io/operator-framework/upstream-registry-builder as builder
COPY manifests manifests
RUN ./bin/initializer -o ./bundles.db
FROM scratch
COPY --from=builder /build/bundles.db /bundles.db
COPY --from=builder /build/bin/registry-server /registry-server
COPY --from=builder /bin/grpc_health_probe /bin/grpc_health_probe
EXPOSE 50051
ENTRYPOINT ["/registry-server"]
CMD ["--database", "bundles.db"]
This Dockerfile assumes that your package is in a directory called ./manifests/
similar to this example. It copies your manifests into the builder image, runs initializer
, then copies the output into the final scratch image and defines the run command to serve the operator-registry.
Then just use your favorite container tooling to build the container image and push it to a registry:
docker build -t example-registry:latest -f registry-Dockerfile .
docker push example-registry:latest
Your catalog is published and we are ready to use it on your cluster.