Skip to content

Overview

License Upstream Operator Catalog Status

About this repository

This repo is the canonical source for Kubernetes Operators that appear on OperatorHub.io, OpenShift Container Platform and OKD.

Documentation contributions

For changes in the documentation, please raise a PR against redhat-openshift-ecosystem/community-operators-pipeline:documentation.

Add your Operator

We would love to see your Operator added to this collection. We currently use automated vetting via continuous integration plus manual review to curate a list of high-quality, well-documented Operators. If you are new to Kubernetes Operators start here.

If you have an existing Operator read our contribution guidelines on how to package and test it. Then test your Operator locally and submit a Pull Request.

Test your Operator before submitting a PR

IMPORTANT Kubernetes has been deprecating API(s), which will be removed and no longer available in 1.22 and in the Openshift version 4.9. Note that your project will be unable to use them on OCP 4.9/K8s 1.22. Then, it is strongly recommended to check Deprecated API Migration Guide from v1.22 and ensure that your projects have them migrated and are not using any deprecated API. If you are looking to distribute your solution on OKD/Openshift catalogs see OKD/OpenShift Catalogs criteria and options.

You can use our test suite to test your Operator before submitting it. Our test suite will help you to install it. Then assuming you followed the contribution guide, you can run the entire suite on a Linux or macOS system with Docker installed:

cd <community-operators-project>
bash <(curl -sL https://raw.githubusercontent.com/redhat-openshift-ecosystem/community-operators-pipeline/ci/latest/ci/scripts/opp.sh) \
  kiwi,lemon,orange \
  <operator-stream>/<operator-name>/<operator-version>
Tests are not passing or do you want to know more? Check test suite for more info.

Validating the bundle with SDK

Note that you can validate the bundle via [operator-sdk bundle validate][sdk-cli-bundle-validate] against the entire suite of validators for Operator Framework, in addition to the required bundle validators:

operator-sdk bundle validate ./bundle --select-optional suite=operatorframework

Note If you used operator-sdk to build your project and to build your bundle with the target make bundle then you can leverage [operator-sdk scorecard][sdk-cli-scorecard-bundle] to perform functional tests as well.

Preview your Operator on OperatorHub.io

You can preview how your Operator would be rendered there by using the preview tool. If you are submitting your Operator in the upstream-community-operators directory your Operator will appear on OperatorHub.io.

Submitting your PR

Review this checklist upon creating a PR and after you acknowledged the contribution guidelines. Do not forget to add ci.yaml to the top level of your operator. Otherwise only semver mode will be supported.

Update your Operator

Similarly, to update your operator you need to submit a PR with any changes to your Operator resources. Refer to our contribution guide for more details.

CI Tests your Operator

Upon creating a pull request against this repo, a set of CI pipelines will run, see more details here. The pipeline will actually run the same commands you use to test locally.

You can help speed up the review of your PR by testing locally, either manually or using scripts. For troubleshooting failing tests consult the manual test steps or see specific error messages solved in troubleshooting guide.

Reporting Bugs

Use the issue tracker in this repository to report bugs.