This Helm chart defines the Service Binding Operator. You can install Service Binding Operators using this Helm chart.
Installing the Service Binding Operator Helm chart creates the following custom resource definitions (CRDs):
- bindablekinds.binding.operators.coreos.com
- servicebindings.binding.operators.coreos.com
- servicebindings.servicebinding.io
- clusterworkloadresourcemappings.servicebinding.io
The resources required for the Service Binding Operator are also installed.
The values.yaml
file contains the following values that can be customized when installing the chart:
image.pullPolicy
image.repository
image.testRepository
keepTestResources
kubernetes.platform
You can define values for the image.pullPolicy
, image.repository
, and image.testRepository
values. If you are not able to pull an image from the quay.io registry, then copy the image to your own container registry.
As part of the Helm test, objects such as deployment, service binding resources, and secrets used for testing are deleted. To view them, you can install the chart with the keepTestResources
flag value set to true
.
kubernetes.platform
is by default set to vanilla
. The user should specify the platform while installing the chart. The kubernetes platform supported for now are eks
,vanilla
and openshift
.
The Helm chart installation involves the following steps:
- Adding the
service-binding-operator-helm-chart
repository. - Installing the Service Binding Operator Helm chart.
- Running a Helm test.
Note: If you are not installing the Service Binding Operator through Operator Lifecycle Manager (OLM), you must install cert-manager on the cluster. Installing the cert-manager automates TLS certificates for Kubernetes and OpenShift workloads. Cert-manager ensures that the certificates are valid and up-to-date, and attempts to renew certificates at a configured time before expiry. You can install cert-manager by running the following command:
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.6.0/cert-manager.yaml
- Add the
service-binding-operator-helm-chart
repository to your local repository and name the repository as per your convenience:
helm repo add service-binding-operator-helm-chart https://redhat-developer.github.io/service-binding-operator-helm-chart/
- Search the repository for the Service Binding Operator Helm chart:
helm search repo service-binding-operator-helm-chart
- Create a Helm chart release and specify a namespace with the
--create-namespace
flag:
helm install service-binding-operator-release \
service-binding-operator-helm-chart/service-binding-operator \
--namespace service-binding-operator --create-namespace
-
Optional: If you wish to install the chart on the default namespace, remove the
--namespace
and--create-namespace
flags. -
Optional: To view the resources created for testing, set the
keepTestResources
flag value totrue
:
helm install service-binding-operator-release \
service-binding-operator-helm-chart/service-binding-operator \
--namespace service-binding-operator --create-namespace \
--set keepTestResources=true
- Verify that the chart is successfully installed:
kubectl get pods --namespace service-binding-operator
-
Optional: If you are installing the chart on the Amazon Elastic Kubernetes Service (Amazon EKS) cluster, then perform the following steps:
- Modify the
aws-auth
config map:
kubectl edit -n kube-system cm/aws-auth
-
Add
-system:masters
to mapRoles and save. -
After editing the config map, update the EKS
kubeConfig
file:
aws eks update-kubeconfig --name <cluster-name>
- Modify the
-
Create a
my-k-config
secret and specify the namespace if applicable from yourkubeconfig
file.
kubectl create secret generic my-k-config --from-file=kubeconfig=<PATH TO YOUR KUBECONFIG> --namespace service-binding-operator
- Run the Helm test and specify the namespace if applicable:
helm test service-binding-operator-release --namespace service-binding-operator
The Succeeded
phase from the output indicates that the Helm test has run successfully.
- Verify that the Helm test has run successfully:
kubectl get pods --namespace service-binding-operator
- As a safety measure, delete the secret that you created and specify the namespace if applicable:
kubectl delete secret my-k-config --namespace service-binding-operator
Please reach out to us for any additional queries by creating an issue at https://github.com/redhat-developer/service-binding-operator/issues.