- go version v1.13+.
- docker version 17.03+.
- kubectl version v1.14.1+.
- kubebuilder v2.0.1+
- Make sure kubebuilder is installed.
- Run
make test
in the project root directory.
- Be sure to run
make update
ormake test
before you finish a commit. - If CRDs in
deploy/crds
are updated, the same file names located indeploy/olm-catalog/ibm-block-csi-operator
must be updated accordingly. - If
role.yaml
,role_binding.yaml
, oroperator.yaml
indeploy
are updated, the ClusterServiceVersion(CSV) file indeploy/olm-catalog/ibm-block-csi-operator
must be updated accordingly. - If
README.md
is updated, ClusterServiceVersion(CSV) file indeploy/olm-catalog/ibm-block-csi-operator
must be updated accordingly. - Run
operator-sdk add
to add a new API or controller, for more details, please refer to https://github.com/operator-framework/operator-sdk. - Run
operator-sdk generate k8s
andoperator-sdk generate crds
after you change something inpkg/apis
.
This repository makes use of the Operator Framework and its packaging concept for Operators. Make sure you read the following guides before packaging the operator and uploading to OperatorHub.
- https://github.com/operator-framework/community-operators/blob/master/docs/contributing.md
- https://github.com/operator-framework/operator-lifecycle-manager/blob/master/doc/design/building-your-csv.md
- https://github.com/operator-framework/community-operators/blob/master/docs/required-fields.md