The OpenFeature Operator is a server that communicates with Kubernetes components within a cluster. As such, it requires a means of authorizing requests between peers. Cert manager handles authorization by adding certificates and certificate issuers as resource types in Kubernetes clusters. This simplifies the process of obtaining, renewing, and using those certificates.
The installation docs for cert manager can be found here.
Alternatively, running the commands below will install cert manager into the cert-manager
namespace.
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.3/cert-manager.yaml &&
kubectl wait --for=condition=Available=True deploy --all -n 'cert-manager'
Install the latest helm release:
helm repo add openfeature https://open-feature.github.io/open-feature-operator/ &&
helm repo update &&
helm upgrade --install openfeature openfeature/open-feature-operator
helm upgrade --install openfeature openfeature/open-feature-operator
[!NOTE] If you upgrade to OFO
v0.5.4
or higher while using aflagd-proxy
provider, the instance offlagd-proxy
will be automatically upgraded to the latest supported version by theopen-feature-operator
. The upgrade offlagd-proxy
will also consider your currentFeatureFlagSource
configuration and adapt theflagd-proxy
Deployment accordingly. If you are upgrading OFO tov0.5.3
or lower,flagd-proxy
(if present) won’t be upgraded automatically.
CRDs are not upgraded automatically with helm (https://helm.sh/docs/chart_best_practices/custom_resource_definitions/).
OpenFeature Operator’s CRDs are templated, and can be updated apart from the operator itself by using helm’s template functionality and piping the output to kubectl
:
To install the CRDs:
helm template openfeature/open-feature-operator -s "templates/crds/*.yaml" | kubectl apply -f -
Keep in mind, you can set values as usual during this process:
helm template openfeature/open-feature-operator -s "templates/crds/*.yaml" --set defaultNamespace=myns | kubectl apply -f -
helm uninstall openfeature
Apply the release yaml directly via kubectl
kubectl create namespace open-feature-operator-system &&
kubectl apply -f https://github.com/open-feature/open-feature-operator/releases/download/v0.8.5/release.yaml
kubectl delete -f https://github.com/open-feature/open-feature-operator/releases/download/v0.8.5/release.yaml &&
kubectl delete namespace open-feature-operator-system
FeatureFlag
CustomResourceDefinition
(custom type that holds the configured state of feature flags).MutatingWebhookConfiguration
(configures webhooks to call the webhook service).