mirror of
https://gitlab.com/deepcypher/dc-kc.git
synced 2026-01-27 11:12:08 +00:00
233 lines
10 KiB
JSON
233 lines
10 KiB
JSON
{
|
|
"description": "SinkBinding describes a Binding that is also a Source. The `sink` (from the Source duck) is resolved to a URL and then projected into the `subject` by augmenting the runtime contract of the referenced containers to have a `K_SINK` environment variable holding the endpoint to which to send cloud events.",
|
|
"properties": {
|
|
"spec": {
|
|
"properties": {
|
|
"ceOverrides": {
|
|
"description": "CloudEventOverrides defines overrides to control the output format and modifications of the event sent to the sink.",
|
|
"properties": {
|
|
"extensions": {
|
|
"description": "Extensions specify what attribute are added or overridden on the outbound event. Each `Extensions` key-value pair are set on the event as an attribute extension independently.",
|
|
"type": "object",
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"sink": {
|
|
"description": "Sink is a reference to an object that will resolve to a uri to use as the sink.",
|
|
"properties": {
|
|
"CACerts": {
|
|
"description": "CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.",
|
|
"type": "string"
|
|
},
|
|
"audience": {
|
|
"description": "Audience is the OIDC audience. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the target itself. If specified, it takes precedence over the target's Audience.",
|
|
"type": "string"
|
|
},
|
|
"ref": {
|
|
"description": "Ref points to an Addressable.",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"description": "API version of the referent.",
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ This is optional field, it gets defaulted to the object holding it if left out.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"uri": {
|
|
"description": "URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"subject": {
|
|
"description": "Subject references the resource(s) whose \"runtime contract\" should be augmented by Binding implementations.",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"description": "API version of the referent.",
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"description": "Kind of the referent.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "Name of the referent. Mutually exclusive with Selector.",
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"description": "Namespace of the referent.",
|
|
"type": "string"
|
|
},
|
|
"selector": {
|
|
"description": "Selector of the referents. Mutually exclusive with Name.",
|
|
"properties": {
|
|
"matchExpressions": {
|
|
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
|
|
"items": {
|
|
"properties": {
|
|
"key": {
|
|
"description": "key is the label key that the selector applies to.",
|
|
"type": "string"
|
|
},
|
|
"operator": {
|
|
"description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
|
|
"type": "string"
|
|
},
|
|
"values": {
|
|
"description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"type": "array"
|
|
},
|
|
"matchLabels": {
|
|
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
|
|
"type": "object",
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"status": {
|
|
"properties": {
|
|
"annotations": {
|
|
"description": "Annotations is additional Status fields for the Resource to save some additional State as well as convey more information to the user. This is roughly akin to Annotations on any k8s resource, just the reconciler conveying richer information outwards.",
|
|
"type": "object",
|
|
"x-kubernetes-preserve-unknown-fields": true
|
|
},
|
|
"auth": {
|
|
"description": "Auth provides the relevant information for OIDC authentication.",
|
|
"properties": {
|
|
"serviceAccountName": {
|
|
"description": "ServiceAccountName is the name of the generated service account used for this components OIDC authentication.",
|
|
"type": "string"
|
|
},
|
|
"serviceAccountNames": {
|
|
"description": "ServiceAccountNames is the list of names of the generated service accounts used for this components OIDC authentication.",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"ceAttributes": {
|
|
"description": "CloudEventAttributes are the specific attributes that the Source uses as part of its CloudEvents.",
|
|
"items": {
|
|
"properties": {
|
|
"source": {
|
|
"description": "Source is the CloudEvents source attribute.",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "Type refers to the CloudEvent type attribute.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"type": "array"
|
|
},
|
|
"conditions": {
|
|
"description": "Conditions the latest available observations of a resource's current state.",
|
|
"items": {
|
|
"properties": {
|
|
"lastTransitionTime": {
|
|
"description": "LastTransitionTime is the last time the condition transitioned from one status to another. We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic differences (all other things held constant).",
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"description": "A human readable message indicating details about the transition.",
|
|
"type": "string"
|
|
},
|
|
"reason": {
|
|
"description": "The reason for the condition's last transition.",
|
|
"type": "string"
|
|
},
|
|
"severity": {
|
|
"description": "Severity with which to treat failures of this type of condition. When this is not specified, it defaults to Error.",
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"description": "Status of the condition, one of True, False, Unknown.",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"description": "Type of condition.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"status"
|
|
],
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"type": "array"
|
|
},
|
|
"observedGeneration": {
|
|
"description": "ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.",
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"oidcTokenSecretName": {
|
|
"description": "Name of the secret with the OIDC token for the sink.",
|
|
"type": "string"
|
|
},
|
|
"sinkAudience": {
|
|
"description": "Audience is the OIDC audience of the sink.",
|
|
"type": "string"
|
|
},
|
|
"sinkCACerts": {
|
|
"description": "CACerts is the Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the sink.",
|
|
"type": "string"
|
|
},
|
|
"sinkUri": {
|
|
"description": "SinkURI is the current active sink URI that has been configured for the Source.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|