Skip to content
This repository has been archived by the owner on Jun 26, 2024. It is now read-only.

Commit

Permalink
docs: difference between coreos & spec API
Browse files Browse the repository at this point in the history
Explicitly documents the difference between the two APIs we support.

Signed-off-by: Andy Sadler <[email protected]>
  • Loading branch information
sadlerap committed Sep 6, 2022
1 parent 8563a7c commit 80027f0
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
* Binding workloads using Service Binding Operator
** xref:api-differences.adoc[]
** xref:creating-service-binding.adoc[]
** xref:binding-options.adoc[]
** xref:custom-path-injection.adoc[]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
[#api-differences]
= API differences

{servicebinding-title} supports two resources for making service bindings:

. `ServiceBinding.binding.operators.coreos.com`
. `ServiceBinding.servicebinding.io`

Both of these binding types have similar features, but they are not completely identical. Here, the
differences between these binding types are fully listed.

[cols="1,1,1,1"]
|===
| Feature | Supported by `coreos.com` bindings | Supported by `servicebinding.io` bindings | Notes

| Binding to provisioned services
| Yes
| Yes
|

| Direct secret projection
| Yes
| Yes
|

| Bind as Files
| Yes
| Yes
| Default behavior for `servicebinding.io` bindings, opt-in for `coreos.com` bindings.

| Bind as Environment Variables
| Yes
| Yes
| Default behavior for `coreos.com` bindings. Opt-in functionality for `servicebinding.io` bindings:
environment variables will be created alongside files.

| Selecting workload with a label selector
| Yes
| Yes
|

| Detecting Binding Resources (`.spec.detectBindingResources`)
| Yes
| No
| There is no equivalent feature within `servicebinding.io` bindings.

| Naming strategies
| Yes
| No
| There is no current mechanism within `servicebinding.io` bindings to interpret the templates that
naming strategies use.

| Container Path
| Yes
| Partial
| The specification allows `ClusterWorkloadResourceMapping` resources to project binding information
into arbitrary locations within a workload's resource, which serves as a more powerful version of the
binding path field. However, since a service binding could specify mapping behavior per binding, a
`servicebinding.io` binding cannot fully support equivalent behavior without more information about
the workload.

| Container Name Filtering
| No
| Yes
| `coreos.com` bindings do not have an equivalent feature.

| Secret Path
| Yes
| No
| `servicebinding.io` bindings have no equivalent feature.

| Alternative binding sources (for instance, binding data from annotations)
| Yes
| Allowed by {servicebinding-title}
| Strictly speaking, the specification is silent on this. However, for the sake of convenience,
{servicebinding-title} supports these binding methods on both binding types.
|===

0 comments on commit 80027f0

Please sign in to comment.