Skip to content

Latest commit

 

History

History
45 lines (28 loc) · 2 KB

CONTRIBUTING.md

File metadata and controls

45 lines (28 loc) · 2 KB

Guidelines

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.

Development

FeatureFlag custom resource definition versioning

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.

Local build

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

Autogenerated Documentation

Some part of the project docs may be autogenerated and require running a script.

CRDs Docs

If you modified or added crds to the project, then you should recreate the crds.md file. To do so run:

make generate-crdocs