-
Story
-
Resolution: Done
-
Major
-
None
Description:
For being more upstream friendly, folks have asked for non-OLM ways of letting operator authors define what is interesting for binding. Given that we did not find a good way to use the OpenAPI validation spec for letting operator authors express what is interesting for binding, we could let operator authors express the same information as annotations in the backing service CRD.
This is how the CRD annotations could look like:
kind: CustomResourceDefinition
apiVersion: apiextensions.k8s.io/v1beta1
metadata:
name: databases.postgresql.baiju.dev
annotations:
servicebindingoperator.redhat.io/status.dbConfigMap.password: 'volume:configmap'
servicebindingoperator.redhat.io/status.dbConfigMap.username: 'env:configmap'
servicebindingoperator.redhat.io/status.dbName: env
servicebindingoperator.redhat.io/spec.Token.private: 'env:secret'
spec:
group: postgresql.baiju.dev
version: v1alpha1
names:
plural: databases
singular: database
shortNames:
- db
kind: Database
listKind: DatabaseList
scope: Namespaced
validation:
openAPIV3Schema:
properties:
apiVersion:
description: >-
APIVersion defines the versioned schema of this representation of an
object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values.
type: string
kind:
description: >-
Kind is a string value representing the REST resource this object
represents. Servers may infer this from the endpoint the client
submits requests to.
type: string
metadata:
type: object
spec:
type: object
status:
type: object
subresources:
status: {}
versions:
- name: v1alpha1
served: true
storage: true
conversion:
strategy: None
status:
conditions:
- type: NamesAccepted
status: 'True'
lastTransitionTime: '2019-09-16T09:37:26Z'
reason: NoConflicts
message: no conflicts found
- type: Established
status: 'True'
lastTransitionTime: null
reason: InitialNamesAccepted
message: the initial names have been accepted
acceptedNames:
plural: databases
singular: database
shortNames:
- db
kind: Database
listKind: DatabaseList
storedVersions:
- v1alpha1
- is related to
-
APPSVC-235 Review of reliable automated test coverage
-
- Closed
-
-
APPSVC-22 Document best practices for operators to ensure that they are "bind-able"
-
- Closed
-