|
| 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