Files
dc-kc/schemas/flows.knative.dev/sequence_v1.json
2025-04-08 22:07:34 +01:00

476 lines
24 KiB
JSON

{
"description": "Sequence defines a sequence of Subscribers that will be wired in series through Channels and Subscriptions.",
"properties": {
"spec": {
"description": "Spec defines the desired state of the Sequence.",
"properties": {
"channelTemplate": {
"description": "ChannelTemplate specifies which Channel CRD to use. If left unspecified, it is set to the default Channel CRD for the namespace (or cluster, in case there are no defaults for the namespace).",
"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. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
"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. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
"type": "string"
},
"spec": {
"description": "Spec defines the Spec to use for each channel created. Passed in verbatim to the Channel CRD as Spec section.",
"type": "object",
"x-kubernetes-preserve-unknown-fields": true
}
},
"type": "object",
"additionalProperties": false
},
"reply": {
"description": "Reply is a Reference to where the result of the last Subscriber gets sent to.",
"properties": {
"CACerts": {
"description": "Certification Authority (CA) certificates in PEM format that the source trusts when sending events to the reply.",
"type": "string"
},
"audience": {
"description": "Audience is the OIDC audience of the reply. 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
},
"steps": {
"description": "Steps is the list of Destinations (processors / functions) that will be called in the order provided. Each step has its own delivery options",
"items": {
"properties": {
"CACerts": {
"description": "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 Addressable itself. If the target is an Addressable and specifies an Audience, the target's Audience takes precedence.",
"type": "string"
},
"delivery": {
"description": "Delivery is the delivery specification for events to the subscriber This includes things like retries, DLQ, etc.",
"properties": {
"backoffDelay": {
"description": "BackoffDelay is the delay before retrying. More information on Duration format: - https://www.iso.org/iso-8601-date-and-time-format.html - https://en.wikipedia.org/wiki/ISO_8601 For linear policy, backoff delay is backoffDelay*<numberOfRetries>. For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.",
"type": "string"
},
"backoffPolicy": {
"description": "BackoffPolicy is the retry backoff policy (linear, exponential).",
"type": "string"
},
"deadLetterSink": {
"description": "DeadLetterSink is the sink receiving event that could not be sent to a destination.",
"properties": {
"CACerts": {
"description": "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
},
"retry": {
"description": "Retry is the minimum number of retries the sender should attempt when sending an event before moving it to the dead letter sink.",
"format": "int32",
"type": "integer"
}
},
"type": "object",
"x-kubernetes-preserve-unknown-fields": true,
"additionalProperties": false
},
"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
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
},
"status": {
"description": "Status represents the current state of the Sequence. This data may be out of date.",
"properties": {
"address": {
"description": "Sequence is Addressable. It exposes the endpoint as an URI to get events delivered into the Sequence.",
"properties": {
"CACerts": {
"type": "string"
},
"audience": {
"type": "string"
},
"name": {
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"addresses": {
"description": "Sequence is Addressable. It exposes the endpoints as URIs to get events delivered into the Sequence.",
"items": {
"properties": {
"CACerts": {
"type": "string"
},
"audience": {
"type": "string"
},
"name": {
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"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
},
"channelStatuses": {
"description": "ChannelStatuses is an array of corresponding Channel statuses. Matches the Spec.Steps array in the order.",
"items": {
"properties": {
"channel": {
"description": "Channel is the reference to the underlying channel.",
"properties": {
"apiVersion": {
"description": "API version of the referent.",
"type": "string"
},
"fieldPath": {
"description": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.",
"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/",
"type": "string"
},
"resourceVersion": {
"description": "Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency",
"type": "string"
},
"uid": {
"description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"ready": {
"description": "ReadyCondition indicates whether the Channel is ready or not.",
"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": "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"
},
"policies": {
"description": "List of applied EventPolicies",
"items": {
"properties": {
"apiVersion": {
"description": "The API version of the applied EventPolicy. This indicates, which version of EventPolicy is supported by the resource.",
"type": "string"
},
"name": {
"description": "The name of the applied EventPolicy",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
},
"subscriptionStatuses": {
"description": "SubscriptionStatuses is an array of corresponding Subscription statuses. Matches the Spec.Steps array in the order.",
"items": {
"properties": {
"ready": {
"description": "ReadyCondition indicates whether the Subscription is ready or not.",
"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
},
"subscription": {
"description": "Subscription is the reference to the underlying Subscription.",
"properties": {
"apiVersion": {
"description": "API version of the referent.",
"type": "string"
},
"fieldPath": {
"description": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.",
"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/",
"type": "string"
},
"resourceVersion": {
"description": "Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency",
"type": "string"
},
"uid": {
"description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids",
"type": "string"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object",
"additionalProperties": false
},
"type": "array"
}
},
"type": "object",
"additionalProperties": false
}
},
"type": "object"
}