mirror of
https://gitlab.com/deepcypher/dc-kc.git
synced 2026-01-27 11:12:08 +00:00
295 lines
14 KiB
JSON
295 lines
14 KiB
JSON
{
|
|
"description": "ApiServerSource is an event source that brings Kubernetes API server events into Knative.",
|
|
"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
|
|
},
|
|
"mode": {
|
|
"description": "EventMode controls the format of the event. `Reference` sends a dataref event type for the resource under watch. `Resource` send the full resource lifecycle event. Defaults to `Reference`",
|
|
"type": "string"
|
|
},
|
|
"namespaceSelector": {
|
|
"description": "NamespaceSelector is a label selector to capture the namespaces that should be watched by the source.",
|
|
"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
|
|
},
|
|
"owner": {
|
|
"description": "ResourceOwner is an additional filter to only track resources that are owned by a specific resource type. If ResourceOwner matches Resources[n] then Resources[n] is allowed to pass the ResourceOwner filter.",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"description": "APIVersion - the API version of the resource to watch.",
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"description": "Kind of the resource to watch. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object",
|
|
"additionalProperties": false
|
|
},
|
|
"resources": {
|
|
"description": "Resource are the resources this source will track and send related lifecycle events from the Kubernetes ApiServer, with an optional label selector to help filter.",
|
|
"items": {
|
|
"properties": {
|
|
"apiVersion": {
|
|
"description": "APIVersion - the API version of the resource to watch.",
|
|
"type": "string"
|
|
},
|
|
"kind": {
|
|
"description": "Kind of the resource to watch. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
|
|
"type": "string"
|
|
},
|
|
"selector": {
|
|
"description": "LabelSelector filters this source to objects to those resources pass the label selector. More info: http://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors",
|
|
"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": "array"
|
|
},
|
|
"serviceAccountName": {
|
|
"description": "ServiceAccountName is the name of the ServiceAccount to use to run this source. Defaults to default if not set.",
|
|
"type": "string"
|
|
},
|
|
"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
|
|
}
|
|
},
|
|
"required": [
|
|
"resources"
|
|
],
|
|
"type": "object",
|
|
"x-kubernetes-preserve-unknown-fields": true,
|
|
"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"
|
|
},
|
|
"namespaces": {
|
|
"description": "Namespaces show the namespaces currently watched by the ApiServerSource",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"observedGeneration": {
|
|
"description": "ObservedGeneration is the 'Generation' of the Service that was last processed by the controller.",
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"sinkAudience": {
|
|
"description": "Audience is the OIDC audience of the sink. This only needs to be set if the target is not an Addressable and thus the Audience can't be received from the Addressable itself. If the target is an Addressable and specifies an Audience, the target's Audience takes precedence.",
|
|
"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"
|
|
}
|