Install on Minikube
-
Run
minikube
using the script./hack/start-minikube.sh
-
Install
cert-manager
make deploy-cert-manager
-
Configure current shell
eval $(minikube docker-env)
Install with OLM
-
Enable OLM
minikube addons enable olm
-
Configure the shell
export OPERATOR_REPO_REF=$(minikube ip):5000/service-binding-operator export OPERATOR_INDEX_IMAGE_REF=$(minikube ip):5000/service-binding-operator:index export OPERATOR_BUNDLE_IMAGE_REF=$(minikube ip):5000/sbo-bundle:latest
-
Build and push images
make image push-image -o registry-login make bundle-image push-bundle-image -o registry-login make index-image push-index-image -o registry-login OPM_RENDER_OPTS=--use-http
-
Deploy the operator through with OLM
make deploy-from-index-image
Install with OLM and a given Index image
You can install the Service Binding Operator from a given index image, like the one on OperatorHub.io or the one generated for each Service Binding Operator’s Pull Request.
From OperatorHub.io
To install the OperatorHub.io's image use the following command:
CATSRC_NAME=operatorhubio OPERATOR_INDEX_IMAGE_REF=quay.io/operatorhubio/catalog:latest make deploy-from-index-image
From a Pull Request index image
For each Pull Request the images needed to install with OLM are create and pushed to the Service Binding Operator’s Quay Repository.
In the following <PR_NUMBER> is the Pull Request’s number and <COMMIT_ID> is the short commit ID (i.e., the first 8 characters of the commit ID).
CATSRC_NAME=sbo-pr OPERATOR_INDEX_IMAGE_REF=quay.io/redhat-developer/servicebinding-operator:pr-<PR_NUMBER>-<COMMIT_ID>-index make deploy-from-index-image
Install with Helm
-
Configure the shell
export OPERATOR_IMAGE_REF=redhat-developer/service-binding-operator:latest
-
Build the operator’s image
make image
-
Install the CRDs
make install
-
Deploy the operator using Helm
helm install \ --create-namespace \ --namespace service-binding-operator \ --set image.image=$OPERATOR_IMAGE_REF \ service-binding-operator \ ./charts/service-binding-operator
or if you prefer to use only the templates
kubectl create namespace service-binding-operator helm template \ --skip-tests \ --namespace service-binding-operator \ --set image.image=$OPERATOR_IMAGE_REF \ ./charts/service-binding-operator | kubectl apply -f -
Install with manifests
-
Configure the shell
export OPERATOR_IMAGE_REF=redhat-developer/service-binding-operator:latest
-
Configure manifests
(cd config/manager && kustomize edit set image controller=$OPERATOR_IMAGE_REF)
-
Build the operator’s image
make image
-
Deploy the operator
kubectl apply -k config/default
-
Patch the deployed operator
kubectl patch deployment service-binding-operator \ --patch '{"spec":{"template":{"spec":{"containers":[{"image":"'$OPERATOR_IMAGE_REF'","name":"controller","imagePullPolicy":"IfNotPresent"}]}}}}' kubectl patch deployment service-binding-operator \ --patch '{"spec":{"template":{"spec":{"containers":[{"image":"'$OPERATOR_IMAGE_REF'","name":"manager","imagePullPolicy":"IfNotPresent"}]}}}}'