Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,27 @@ include::_attributes/servicebinding-document-attributes.adoc[]

toc::[]

[role="_abstract"]
Application developers must bind a workload to one or more backing services by using a binding secret. This secret is generated for the purpose of storing information to be consumed by the workload.

As an example, consider that the service you want to connect to is already exposing the binding data. In this case, you would also need a workload to be used along with the `ServiceBinding` custom resource (CR). By using this `ServiceBinding` CR, the workload sends a binding request with the details of the services to bind with.

.Example of `ServiceBinding` CR
[source,yaml]
----
apiVersion: binding.operators.coreos.com/v1alpha1
kind: ServiceBinding
metadata:
name: spring-petclinic-rest
namespace: my-postgresql
name: spring-petclinic-pgcluster
namespace: my-petclinic
spec:
services: <1>
- group: postgres-operator.crunchydata.com
version: v1beta1
kind: PostgresCluster
name: hippo
- group: ""
version: v1
kind: Secret
name: hippo-pguser-hippo
application: <2>
name: spring-petclinic-rest
name: spring-petclinic
group: apps
version: v1
resource: deployments
Expand All @@ -44,7 +42,6 @@ include::modules/sbo-advanced-binding-options.adoc[leveloffset=+1]
include::modules/sbo-binding-workloads-that-are-not-compliant-with-PodSpec.adoc[leveloffset=+1]
include::modules/sbo-unbinding-workloads-from-a-backing-service.adoc[leveloffset=+1]

[role="_additional-resources"]
== Additional resources
* xref:../../applications/connecting_applications_to_services/understanding-service-binding-operator.adoc#binding-a-workload-together-with-a-backing-service[Binding a workload together with a backing service].
* xref:../../applications/connecting_applications_to_services/getting-started-with-service-binding.adoc#connecting-the-spring-petclinic-sample-application-to-the-postgresql-database-service[Connecting the Spring PetClinic sample application to the PostgreSQL database service].
* xref:../../applications/connecting_applications_to_services/getting-started-with-service-binding.adoc#connecting-the-spring-petclinic-sample-application-to-the-postgresql-database-service[Connecting the Spring PetClinic sample application to the PostgreSQL database service].
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ include::_attributes/servicebinding-document-attributes.adoc[]

toc::[]

[role="_abstract"]
Application developers need access to backing services to build and connect workloads. Connecting workloads to backing services is always a challenge because each service provider requires a different way to access their secrets and consume them in a workload.

The {servicebinding-title} enables application developers to easily bind workloads together with operator-managed backing services, without any manual procedures to configure the binding connection. For the {servicebinding-title} to provide the binding data, as an Operator provider or user who creates backing services, you must expose the binding data to be automatically detected by the {servicebinding-title}. Then, the {servicebinding-title} automatically collects the binding data from the backing service and shares it with a workload to provide a consistent and predictable experience.
Expand All @@ -16,8 +17,7 @@ include::modules/sbo-data-model.adoc[leveloffset=+1]
include::modules/sbo-rbac-requirements.adoc[leveloffset=+1]
include::modules/sbo-categories-of-exposable-binding-data.adoc[leveloffset=+1]

[role="_additional-resources"]
== Additional resources
* link:https://github.com/openshift/console/blob/master/frontend/packages/operator-lifecycle-manager/src/components/descriptors/reference/reference.md[OLM Descriptor Reference].
* xref:../../operators/operator_sdk/osdk-generating-csvs.adoc#osdk-generating-csvs[Defining cluster service versions (CSVs)].
* xref:../../applications/connecting_applications_to_services/projecting-binding-data.adoc#projecting-binding-data[Projecting binding data].
* xref:../../applications/connecting_applications_to_services/projecting-binding-data.adoc#projecting-binding-data[Projecting binding data].
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,22 @@ include::_attributes/servicebinding-document-attributes.adoc[]

toc::[]

{servicebinding-title} manages the data plane for workloads and backing services. This guide provides instructions with examples to help you create a database instance, deploy an application, and use {servicebinding-title} to create a binding connection between the application and the database service.
[role="_abstract"]
The {servicebinding-title} manages the data plane for workloads and backing services. This guide provides instructions with examples to help you create a database instance, deploy an application, and use the {servicebinding-title} to create a binding connection between the application and the database service.

// Prerequisites for getting started with Service Binding Operator
[discrete]
== Prerequisites

* You have access to an {product-title} cluster using an account with `cluster-admin` permissions.
* You have installed the `oc` CLI.
* You have installed PostgreSQL `psql` CLI.
* You have installed {servicebinding-title} from OperatorHub.
* You have installed the Crunchy Postgres for Kubernetes Operator from OperatorHub using the *v5* Update channel. The installed Operator is available in an appropriate namespace, such as the `my-postgresql` namespace.
* You have installed the Crunchy Postgres for Kubernetes Operator from OperatorHub using the *v5* Update channel. The installed Operator is available in an appropriate namespace, such as the `my-petclinic` namespace.
+
[NOTE]
====
You can create the namespace using the `oc create namespace my-petclinic` command.
====

//Creating a PostgreSQL database instance
include::modules/sbo-creating-a-postgresql-database-instance.adoc[leveloffset=+1]
Expand All @@ -28,9 +33,8 @@ include::modules/sbo-deploying-the-spring-petclinic-sample-application.adoc[leve
//Connecting the Spring PetClinic sample application to the PostgreSQL database service
include::modules/sbo-connecting-spring-petclinic-sample-app-to-postgresql-database-service.adoc[leveloffset=+1]

[role="_additional-resources"]
== Additional resources
== Additional Resources
* xref:../../applications/connecting_applications_to_services/installing-sbo.adoc#installing-sbo[Installing Service Binding Operator].
* xref:../../applications/creating_applications/odc-creating-applications-using-developer-perspective.adoc#odc-creating-applications-using-developer-perspective[Creating applications using the Developer perspective].
* xref:../../operators/understanding/crds/crd-managing-resources-from-crds.adoc[Managing resources from custom resource definitions].
* link:https://github.com/redhat-developer/service-binding-operator#known-bindable-operators[Known bindable Operators].
* link:https://github.com/redhat-developer/service-binding-operator#known-bindable-operators[Known bindable Operators].
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ include::_attributes/servicebinding-document-attributes.adoc[]

toc::[]

[role="_abstract"]
This guide walks cluster administrators through the process of installing the {servicebinding-title} to an {product-title} cluster.

You can install {servicebinding-title} on {product-title} 4.7 and later.
Expand All @@ -23,6 +24,5 @@ You can install {servicebinding-title} on {product-title} 4.7 and later.
include::modules/op-installing-sbo-operator-using-the-web-console.adoc[leveloffset=+1]


[role="_additional-resources"]
== Additional resources
* xref:../../applications/connecting_applications_to_services/getting-started-with-service-binding.adoc#getting-started-with-service-binding[Getting started with service binding].
== Additional Resources
* xref:../../applications/connecting_applications_to_services/getting-started-with-service-binding.adoc#getting-started-with-service-binding[Getting started with service binding].
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ include::_attributes/common-attributes.adoc[]
include::_attributes/servicebinding-document-attributes.adoc[]
:context: odc-connecting-an-application-to-a-service-using-the-developer-perspective

[role="_abstract"]
In addition to grouping multiple components within an application, you can also use the *Topology* view to connect components with each other. You can either use a binding connector or a visual one to connect components.

A binding connection between the components can be established only if the target node is an Operator-backed service. This is indicated by the *Create a binding connector* tool-tip which appears when you drag an arrow to such a target node. When an application is connected to a service using a binding connector a `ServiceBinding` resource is created. Then, the Service Binding Operator controller projects the necessary binding data into the application deployment. After the request is successful, the application is redeployed establishing an interaction between the connected components.
Expand All @@ -18,8 +19,8 @@ This procedure walks you through an example of creating a visual connection betw

.Prerequisites

* Ensure that you have created and deployed a Spring PetClinic sample application using the *Developer* perspective.
* Ensure that you have created and deployed a Crunchy PostgreSQL database instance using the *Developer* perspective. This instance has the following three components: `hippo-backup`, `hippo-instance`, and `hippo-pgbouncer`.
* You have created and deployed a Spring PetClinic sample application using the *Developer* perspective.
* You have created and deployed a Crunchy PostgreSQL database instance using the *Developer* perspective. This instance has the following four components: `hippo-backup`, `hippo-instance`, `hippo-repo-host`, and `hippo-pgbouncer`.

.Procedure

Expand All @@ -28,7 +29,7 @@ This procedure walks you through an example of creating a visual connection betw
.Visual connector
image::odc_connector.png[]
. Click and drag the arrow towards the `hippo-pgbouncer` deployment to connect the Spring PetClinic sample application with it.
. Click on the `spring-petclinic-rest` deployment to see the *Overview* panel. Under the *Details* tab, click the edit icon in the *Annotations* section to see the *Key = `app.openshift.io/connects-to`* and *Value = `[{"apiVersion":"apps/v1","kind":"Deployment","name":"hippo-pgbouncer"}]`* annotation added to the deployment.
. Click the `spring-petclinic` deployment to see the *Overview* panel. Under the *Details* tab, click the edit icon in the *Annotations* section to see the *Key = `app.openshift.io/connects-to`* and *Value = `[{"apiVersion":"apps/v1","kind":"Deployment","name":"hippo-pgbouncer"}]`* annotation added to the deployment.

Similarly you can create other applications and components and establish visual connections between them.

Expand All @@ -42,13 +43,13 @@ This procedure walks through an example of creating a binding connection between
The PostreSQL Database Operator then creates and manages the `Database` resource, which exposes the binding information in secrets, config maps, status, and spec attributes.

.Prerequisites
* Ensure that you have created and deployed a Spring PetClinic sample application using the *Developer* perspective.
* Ensure that you have installed the {servicebinding-title} from the OperatorHub.
* Ensure that you have installed the *Crunchy Postgres for Kubernetes* Operator from the OperatorHub using `v5` *Update* channel.
* Ensure that you have created and deployed a Crunchy PostgreSQL database instance using the *Developer* perspective. This instance has the following three components: `hippo-backup`, `hippo-instance`, and `hippo-pgbouncer`.
* You have created and deployed a Spring PetClinic sample application using the *Developer* perspective.
* You have installed the {servicebinding-title} from the OperatorHub.
* You have installed the *Crunchy Postgres for Kubernetes* Operator from the OperatorHub using `v5` *Update* channel.
* You have created and deployed a Crunchy PostgreSQL database instance using the *Developer* perspective. This instance has the following four components: `hippo-backup`, `hippo-instance`, `hippo-repo-host`, and `hippo-pgbouncer`.

.Procedure
. Switch to the *Developer* perspective and ensure that you are in the appropriate project, for example, `my-postgresql`. In the *Topology* view, hover over the Spring PetClinic sample application to see a dangling arrow on the node.
. Switch to the *Developer* perspective and ensure that you are in the appropriate project, for example, `my-petclinic`. In the *Topology* view, hover over the Spring PetClinic sample application to see a dangling arrow on the node.
. Click and drag the arrow towards the *hippo* database Postgres Cluster to make a binding connection with the Spring PetClinic sample application.
+
Alternatively, in the *+Add* view, click the *YAML* option to see the *Import YAML* screen. Use the YAML editor and add the `ServiceBinding` resource:
Expand All @@ -59,16 +60,16 @@ Alternatively, in the *+Add* view, click the *YAML* option to see the *Import YA
apiVersion: binding.operators.coreos.com/v1alpha1
kind: ServiceBinding
metadata:
name: spring-petclinic-rest
namespace: my-postgresql
name: spring-petclinic-pgcluster
namespace: my-petclinic
spec:
services:
- group: postgres-operator.crunchydata.com
version: v1beta1
kind: PostgresCluster
name: hippo
application:
name: spring-petclinic-rest
name: spring-petclinic
group: apps
version: v1
resource: deployments
Expand All @@ -87,7 +88,6 @@ You can also use the context menu by dragging the dangling arrow to add and crea
image::odc_context_operator.png[]
====

[role="_additional-resources"]
== Additional resources
* xref:../../applications/connecting_applications_to_services/getting-started-with-service-binding.adoc#getting-started-with-service-binding[Getting started with service binding].
* link:https://github.com/redhat-developer/service-binding-operator#known-bindable-operators[Known bindable Operators].
* link:https://github.com/redhat-developer/service-binding-operator#known-bindable-operators[Known bindable Operators].
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ include::_attributes/servicebinding-document-attributes.adoc[]

toc::[]

[role="_abstract"]
This section provides information on how you can consume the binding data.

== Consumption of binding data
Expand All @@ -18,7 +19,6 @@ After the backing service exposes the binding data, for a workload to access and
include::modules/sbo-configuration-of-directory-path-to-project-binding-data.adoc[leveloffset=+1]
include::modules/sbo-projecting-the-binding-data.adoc[leveloffset=+1]

[role="_additional-resources"]
== Additional resources
* xref:../../applications/connecting_applications_to_services/exposing-binding-data-from-a-service.adoc#exposing-binding-data-from-a-service[Exposing binding data from a service].
* link:https://redhat-developer.github.io/service-binding-operator/userguide/using-projected-bindings/using-projected-bindings.html[Using the projected binding data in the source code of the application].
* link:https://redhat-developer.github.io/service-binding-operator/userguide/using-projected-bindings/using-projected-bindings.html[Using the projected binding data in the source code of the application].
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ include::_attributes/common-attributes.adoc[]
include::_attributes/servicebinding-document-attributes.adoc[]
:_content-type: ASSEMBLY
[id="servicebinding-release-notes"]
= {servicebinding-title} release notes
= Release notes for {servicebinding-title}
:context: servicebinding-release-notes

toc::[]
Expand All @@ -24,7 +24,9 @@ With {servicebinding-title}, you can:
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see link:https://www.redhat.com/en/blog/making-open-source-more-inclusive-eradicating-problematic-language[Red Hat CTO Chris Wright's message].

// Modules included, most to least recent
include::modules/sbo-release-notes-1-0-1.adoc[leveloffset=+1]
include::modules/sbo-release-notes-1-0.adoc[leveloffset=+1]


== Additional resources
* xref:../../applications/connecting_applications_to_services/understanding-service-binding-operator.adoc#understanding-service-binding-operator[Understanding Service Binding Operator].
* xref:../../applications/connecting_applications_to_services/understanding-service-binding-operator.adoc#understanding-service-binding-operator[Understanding Service Binding Operator].
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ include::_attributes/servicebinding-document-attributes.adoc[]
toc::[]


[role="_abstract"]
Application developers need access to backing services to build and connect workloads. Connecting workloads to backing services is always a challenge because each service provider suggests a different way to access their secrets and consume them in a workload. In addition, manual configuration and maintenance of this binding together of workloads and backing services make the process tedious, inefficient, and error-prone.

The {servicebinding-title} enables application developers to easily bind workloads together with Operator-managed backing services, without any manual procedures to configure the binding connection.
Expand Down Expand Up @@ -78,6 +79,5 @@ With {servicebinding-title}, you can:
** Support for role-based access control (RBAC).


[role="_additional-resources"]
== Additional resources
* xref:../../applications/connecting_applications_to_services/getting-started-with-service-binding.adoc#getting-started-with-service-binding[Getting started with service binding].
* xref:../../applications/connecting_applications_to_services/getting-started-with-service-binding.adoc#getting-started-with-service-binding[Getting started with service binding].
Binary file modified images/odc-binding-connector.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/odc_connecting_multiple_applications.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/odc_connector.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading