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

Commit 6970ec4

Browse files
authored
docs: difference between coreos & spec API (#1219)
Explicitly documents the difference between the two APIs we support. Signed-off-by: Andy Sadler <[email protected]> Signed-off-by: Andy Sadler <[email protected]>
1 parent 662f5f2 commit 6970ec4

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

docs/userguide/modules/binding-workloads-using-sbo/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
* Binding workloads using Service Binding Operator
2+
** xref:api-differences.adoc[]
23
** xref:creating-service-binding.adoc[]
34
** xref:binding-options.adoc[]
45
** xref:custom-path-injection.adoc[]
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
[#api-differences]
2+
= API differences
3+
4+
{servicebinding-title} supports two resources for making service bindings:
5+
6+
. `ServiceBinding.binding.operators.coreos.com`
7+
. `ServiceBinding.servicebinding.io`
8+
9+
Both of these binding types have similar features, but they are not completely identical. Here, the
10+
differences between these binding types are fully listed.
11+
12+
[cols="1,1,1,1"]
13+
|===
14+
| Feature | Supported by `coreos.com` bindings | Supported by `servicebinding.io` bindings | Notes
15+
16+
| Binding to provisioned services
17+
| Yes
18+
| Yes
19+
|
20+
21+
| Direct secret projection
22+
| Yes
23+
| Yes
24+
|
25+
26+
| Bind as Files
27+
| Yes
28+
| Yes
29+
| Default behavior for `servicebinding.io` bindings, opt-in for `coreos.com` bindings.
30+
31+
| Bind as Environment Variables
32+
| Yes
33+
| Yes
34+
| Default behavior for `coreos.com` bindings. Opt-in functionality for `servicebinding.io` bindings:
35+
environment variables will be created alongside files.
36+
37+
| Selecting workload with a label selector
38+
| Yes
39+
| Yes
40+
|
41+
42+
| Detecting Binding Resources (`.spec.detectBindingResources`)
43+
| Yes
44+
| No
45+
| There is no equivalent feature within `servicebinding.io` bindings.
46+
47+
| Naming strategies
48+
| Yes
49+
| No
50+
| There is no current mechanism within `servicebinding.io` bindings to interpret the templates that
51+
naming strategies use.
52+
53+
| Container Path
54+
| Yes
55+
| Partial
56+
| The specification allows `ClusterWorkloadResourceMapping` resources to project binding information
57+
into arbitrary locations within a workload's resource, which serves as a more powerful version of the
58+
binding path field. However, since a service binding could specify mapping behavior per binding, a
59+
`servicebinding.io` binding cannot fully support equivalent behavior without more information about
60+
the workload.
61+
62+
| Container Name Filtering
63+
| No
64+
| Yes
65+
| `coreos.com` bindings do not have an equivalent feature.
66+
67+
| Secret Path
68+
| Yes
69+
| No
70+
| `servicebinding.io` bindings have no equivalent feature.
71+
72+
| Alternative binding sources (for instance, binding data from annotations)
73+
| Yes
74+
| Allowed by {servicebinding-title}
75+
| Strictly speaking, the specification is silent on this. However, for the sake of convenience,
76+
{servicebinding-title} supports these binding methods on both binding types.
77+
|===

0 commit comments

Comments
 (0)