Skip to content

Inconsistencies between ServiceBindingMetadata and ServiceInstanceMetadata #745

@WalkerGriggs

Description

@WalkerGriggs

What is the problem?

ServiceInstanceMetadata is fairly general: only two opaque objects.

    ServiceInstanceMetadata:
      type: object
      properties:
        labels:
          type: object
        attributes:
          type: object

but the ServiceBindingMetadata is more specific.

    ServiceBindingMetadata:
      type: object
      properties:
        expires_at:
          type: string
        renew_before:
          type: string

The parallel in names suggests they are functionally equivalent, but this inconsistency changes how brokers use the two objects.

For example, a broker may want to add a general created_at field to both resource's metadata objects, but can't for the service binding.

Or more holistically, it sends mixed messages about OSB as a prescriptive or general specification.

Who does this affect?

Broker authors and platforms.

Do you have any proposed solutions?

Replace the specific ServiceBindingMetadata fields in favor of attributes and labels, or add the two fields in addition to existing, specific ones. The latter is probably better for backwards compatibility.

    ServiceBindingMetadata:
      type: object
      properties:
        labels:
          type: object
        attributes:
          type: object

or

    ServiceBindingMetadata:
      type: object
      properties:
        expires_at:
          type: string
        renew_before:
          type: string
        labels:
          type: object
        attributes:
          type: object

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions