Welcome!
There are a few things to consider before contributing to open-feature-operator.
Firstly, there's a code of conduct. TLDR: be respectful.
Any contributions are expected to include tests. These can be validated with make unit-test
or the automated github workflow will run them on PR creation.
The go version in the go.mod
is the currently supported version of go.
Thanks! Issues and pull requests following these guidelines are welcome.
Custom resource definitions support multiple versions. The kubebuilder framework exposes a system to seamlessly convert between versions (using a "hub and spoke" model) maintaining backwards compatibility. It does this by injecting conversion webhooks that call our defined convert functions. The hub version of the FeatureFlag
custom resource definition (the version to which all other versions are converted) is v1beta1
.
Follow this tutorial to implement a new version of the custom resource definition.
The operator can be build and deployed to your cluster by using a single command:
make build-deploy-operator TAG=myTag RELEASE_REGISTRY=docker.io/user1 RELEASE_NAME=myImgName
Which will result in building the operator image docker.io/user1/myImgName:myTag
, uploading it to your image registry
and deploying to your cluster. Please be aware that it is using the cluster your current kube-context is pointing to.
Note
All bash variables are optional, the default values are set and will result in an image ghcr.io/openfeature/operator:latest
Some part of the project docs may be autogenerated and require running a script.
./.github/scripts/generate-helm-docs.sh
If you modified or added crds to the project, then you should recreate the crds.md file. To do so run:
make generate-crdocs