Skip to content

Commit 18ef82f

Browse files
committed
Updated on feedback
- add reasoning for the conditions of multiple bindings - allow multiple bindings to UPSI (even though there is no benefit but less constaints on API) - add reasoning for limiting the number of multiple bindings - cf cleanup-outdated-service-bindings: use flags for optional params
1 parent 96fa417 commit 18ef82f

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

toc/rfc/rfc-draft-service-binding-rotation.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,13 @@ The CC should allow multiple service credential bindings per service instance an
5454

5555
Shall allow the creation of multiple service credential bindings for the same app and service instance under the following conditions:
5656
- service credential bindings are of type `app`
57-
- service instance is a managed service instances
57+
- bindings of type `key` don't have a reference to an application
58+
- multiple service keys for a service instance are already supported
5859
- service credential binding name is not changed
60+
- multiple bindings to the same service instance are intended for credential rotation
61+
- VCAP_SERVICES structure doesn't allow multiple bindings to the same service instance so different binding names don't make sense
5962

60-
The number of multiple service credential bindings for the same app and service instance should be limited.
63+
The number of multiple service credential bindings for the same app and service instance should be limited. The limit prevents a DoS threat and eventually reminds users to clean up old, likely outdated bindings.
6164

6265
#### GET /v3/service_credential_bindings
6366

@@ -84,7 +87,7 @@ An additional parameter `cf unbind-service --guid <guid>` should support the del
8487

8588
The cleanup of old service credential bindings should be supported by a new CF CLI command:
8689
```
87-
cf cleanup-outdated-service-bindings myApp [myService] [--keep-last 1]
90+
cf cleanup-outdated-service-bindings myApp [--service-instance myService] [--keep-last 1]
8891
```
8992
The CLI will use the CF API `GET /v3/service_credential_bindings?app_guids=:guid ` to list the service instance bindings for an application and should delete all old bindings based on the creation date leaving the newest service bindings. With the `keep-last` parameter, users can keep the x newest bindings per app and service instance. If no service instance name is provided, the CLI should delete the old bindings of all services currently bound to the application.
9093
It is in the responsibility of the user to invoke `cf cleanup-outdated-service-bindings myApp` only after a successfully restage/restart of the app, i.e. when old service credential bindings are not used anymore by any app container.

0 commit comments

Comments
 (0)