| apiVersion: v1 |
| kind: Namespace |
| metadata: |
| labels: |
| control-plane: controller-manager |
| name: sonataflow-operator-system |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.9.2 |
| creationTimestamp: null |
| name: sonataflowbuilds.sonataflow.org |
| spec: |
| group: sonataflow.org |
| names: |
| kind: SonataFlowBuild |
| listKind: SonataFlowBuildList |
| plural: sonataflowbuilds |
| shortNames: |
| - sfb |
| - sfbuild |
| - sfbuilds |
| singular: sonataflowbuild |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - jsonPath: .status.imageTag |
| name: Image |
| type: string |
| - jsonPath: .status.buildPhase |
| name: Phase |
| type: string |
| name: v1alpha08 |
| schema: |
| openAPIV3Schema: |
| description: SonataFlowBuild is an internal custom resource to control workflow |
| build instances in the target platform |
| 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 |
| metadata: |
| type: object |
| spec: |
| description: SonataFlowBuildSpec an abstraction over the actual build |
| process performed by the platform. |
| properties: |
| arguments: |
| description: 'Arguments lists the command line arguments to send to |
| the internal builder command. Depending on the build method you |
| might set this attribute instead of BuildArgs. For example: ".spec.arguments=verbose=3". |
| Please see the SonataFlow guides.' |
| items: |
| type: string |
| type: array |
| buildArgs: |
| description: Optional build arguments that can be set to the internal |
| build (e.g. Docker ARG) |
| items: |
| description: EnvVar represents an environment variable present in |
| a Container. |
| properties: |
| name: |
| description: Name of the environment variable. Must be a C_IDENTIFIER. |
| type: string |
| value: |
| description: 'Variable references $(VAR_NAME) are expanded using |
| the previously defined environment variables in the container |
| and any service environment variables. If a variable cannot |
| be resolved, the reference in the input string will be unchanged. |
| Double $$ are reduced to a single $, which allows for escaping |
| the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the |
| string literal "$(VAR_NAME)". Escaped references will never |
| be expanded, regardless of whether the variable exists or |
| not. Defaults to "".' |
| type: string |
| valueFrom: |
| description: Source for the environment variable's value. Cannot |
| be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, kind, uid?' |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: 'Selects a field of the pod: supports metadata.name, |
| metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, |
| spec.nodeName, spec.serviceAccountName, status.hostIP, |
| status.podIP, status.podIPs.' |
| properties: |
| apiVersion: |
| description: Version of the schema the FieldPath is |
| written in terms of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to select in the specified |
| API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: 'Selects a resource of the container: only |
| resources limits and requests (limits.cpu, limits.memory, |
| limits.ephemeral-storage, requests.cpu, requests.memory |
| and requests.ephemeral-storage) are currently supported.' |
| properties: |
| containerName: |
| description: 'Container name: required for volumes, |
| optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output format of the exposed |
| resources, defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret in the pod's namespace |
| properties: |
| key: |
| description: The key of the secret to select from. Must |
| be a valid secret key. |
| type: string |
| name: |
| description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, kind, uid?' |
| type: string |
| optional: |
| description: Specify whether the Secret or its key must |
| be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| envs: |
| description: Optional environment variables to add to the internal |
| build |
| items: |
| description: EnvVar represents an environment variable present in |
| a Container. |
| properties: |
| name: |
| description: Name of the environment variable. Must be a C_IDENTIFIER. |
| type: string |
| value: |
| description: 'Variable references $(VAR_NAME) are expanded using |
| the previously defined environment variables in the container |
| and any service environment variables. If a variable cannot |
| be resolved, the reference in the input string will be unchanged. |
| Double $$ are reduced to a single $, which allows for escaping |
| the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the |
| string literal "$(VAR_NAME)". Escaped references will never |
| be expanded, regardless of whether the variable exists or |
| not. Defaults to "".' |
| type: string |
| valueFrom: |
| description: Source for the environment variable's value. Cannot |
| be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, kind, uid?' |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or its key |
| must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: 'Selects a field of the pod: supports metadata.name, |
| metadata.namespace, `metadata.labels[''<KEY>'']`, `metadata.annotations[''<KEY>'']`, |
| spec.nodeName, spec.serviceAccountName, status.hostIP, |
| status.podIP, status.podIPs.' |
| properties: |
| apiVersion: |
| description: Version of the schema the FieldPath is |
| written in terms of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to select in the specified |
| API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: 'Selects a resource of the container: only |
| resources limits and requests (limits.cpu, limits.memory, |
| limits.ephemeral-storage, requests.cpu, requests.memory |
| and requests.ephemeral-storage) are currently supported.' |
| properties: |
| containerName: |
| description: 'Container name: required for volumes, |
| optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output format of the exposed |
| resources, defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret in the pod's namespace |
| properties: |
| key: |
| description: The key of the secret to select from. Must |
| be a valid secret key. |
| type: string |
| name: |
| description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, kind, uid?' |
| type: string |
| optional: |
| description: Specify whether the Secret or its key must |
| be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| resources: |
| description: Resources optional compute resource requirements for |
| the builder |
| properties: |
| claims: |
| description: "Claims lists the names of resources, defined in |
| spec.resourceClaims, that are used by this container. \n This |
| is an alpha field and requires enabling the DynamicResourceAllocation |
| feature gate. \n This field is immutable. It can only be set |
| for containers." |
| items: |
| description: ResourceClaim references one entry in PodSpec.ResourceClaims. |
| properties: |
| name: |
| description: Name must match the name of one entry in pod.spec.resourceClaims |
| of the Pod where this field is used. It makes that resource |
| available inside a container. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: 'Limits describes the maximum amount of compute resources |
| allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: 'Requests describes the minimum amount of compute |
| resources required. If Requests is omitted for a container, |
| it defaults to Limits if that is explicitly specified, otherwise |
| to an implementation-defined value. Requests cannot exceed Limits. |
| More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' |
| type: object |
| type: object |
| timeout: |
| description: Timeout defines the Build maximum execution duration. |
| The Build deadline is set to the Build start time plus the Timeout |
| duration. If the Build deadline is exceeded, the Build context is |
| canceled, and its phase set to BuildPhaseFailed. |
| format: duration |
| type: string |
| type: object |
| status: |
| description: SonataFlowBuildStatus defines the observed state of SonataFlowBuild |
| properties: |
| buildPhase: |
| description: Current phase of the build |
| type: string |
| error: |
| description: Last error found during build |
| type: string |
| imageTag: |
| description: The final image tag produced by this build instance |
| type: string |
| innerBuild: |
| description: InnerBuild is a reference to an internal build object, |
| which can be anything known only to internal builders. |
| type: object |
| x-kubernetes-preserve-unknown-fields: true |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.9.2 |
| creationTimestamp: null |
| name: sonataflowplatforms.sonataflow.org |
| spec: |
| group: sonataflow.org |
| names: |
| kind: SonataFlowPlatform |
| listKind: SonataFlowPlatformList |
| plural: sonataflowplatforms |
| shortNames: |
| - sfp |
| - sfplatform |
| - sfplatforms |
| singular: sonataflowplatform |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - jsonPath: .status.cluster |
| name: Cluster |
| type: string |
| - jsonPath: .status.conditions[?(@.type=='Succeed')].status |
| name: Ready |
| type: string |
| - jsonPath: .status.conditions[?(@.type=='Succeed')].reason |
| name: Reason |
| type: string |
| name: v1alpha08 |
| schema: |
| openAPIV3Schema: |
| description: SonataFlowPlatform is the descriptor for the workflow platform |
| infrastructure. |
| 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 |
| metadata: |
| type: object |
| spec: |
| description: SonataFlowPlatformSpec defines the desired state of SonataFlowPlatform |
| properties: |
| build: |
| description: Attributes for building workflows in the target platform |
| properties: |
| config: |
| description: Describes the platform configuration for building |
| workflows. |
| properties: |
| baseImage: |
| description: a base image that can be used as base layer for |
| all images. It can be useful if you want to provide some |
| custom base image with further utility software |
| type: string |
| registry: |
| description: Registry the registry where to publish the built |
| image |
| properties: |
| address: |
| description: the URI to access |
| type: string |
| ca: |
| description: the configmap which stores the Certificate |
| Authority |
| type: string |
| insecure: |
| description: if the container registry is insecure (ie, |
| http only) |
| type: boolean |
| organization: |
| description: the registry organization |
| type: string |
| secret: |
| description: the secret where credentials are stored |
| type: string |
| type: object |
| strategy: |
| description: BuildStrategy to use to build workflows in the |
| platform. Usually, the operator elect the strategy based |
| on the platform. Note that this field might be read only |
| in certain scenarios. |
| type: string |
| strategyOptions: |
| additionalProperties: |
| type: string |
| description: BuildStrategyOptions additional options to add |
| to the build strategy. See https://sonataflow.org/serverlessworkflow/main/cloud/operator/build-and-deploy-workflows.html |
| type: object |
| timeout: |
| description: how much time to wait before time out the build |
| process |
| type: string |
| type: object |
| template: |
| description: Describes a build template for building workflows. |
| Base for the internal SonataFlowBuild resource. |
| properties: |
| arguments: |
| description: 'Arguments lists the command line arguments to |
| send to the internal builder command. Depending on the build |
| method you might set this attribute instead of BuildArgs. |
| For example: ".spec.arguments=verbose=3". Please see the |
| SonataFlow guides.' |
| items: |
| type: string |
| type: array |
| buildArgs: |
| description: Optional build arguments that can be set to the |
| internal build (e.g. Docker ARG) |
| items: |
| description: EnvVar represents an environment variable present |
| in a Container. |
| properties: |
| name: |
| description: Name of the environment variable. Must |
| be a C_IDENTIFIER. |
| type: string |
| value: |
| description: 'Variable references $(VAR_NAME) are expanded |
| using the previously defined environment variables |
| in the container and any service environment variables. |
| If a variable cannot be resolved, the reference in |
| the input string will be unchanged. Double $$ are |
| reduced to a single $, which allows for escaping the |
| $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce |
| the string literal "$(VAR_NAME)". Escaped references |
| will never be expanded, regardless of whether the |
| variable exists or not. Defaults to "".' |
| type: string |
| valueFrom: |
| description: Source for the environment variable's value. |
| Cannot be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| description: 'Name of the referent. More info: |
| https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, |
| kind, uid?' |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or |
| its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: 'Selects a field of the pod: supports |
| metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, |
| `metadata.annotations[''<KEY>'']`, spec.nodeName, |
| spec.serviceAccountName, status.hostIP, status.podIP, |
| status.podIPs.' |
| properties: |
| apiVersion: |
| description: Version of the schema the FieldPath |
| is written in terms of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to select in |
| the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: 'Selects a resource of the container: |
| only resources limits and requests (limits.cpu, |
| limits.memory, limits.ephemeral-storage, requests.cpu, |
| requests.memory and requests.ephemeral-storage) |
| are currently supported.' |
| properties: |
| containerName: |
| description: 'Container name: required for volumes, |
| optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output format of |
| the exposed resources, defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret in the pod's |
| namespace |
| properties: |
| key: |
| description: The key of the secret to select |
| from. Must be a valid secret key. |
| type: string |
| name: |
| description: 'Name of the referent. More info: |
| https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, |
| kind, uid?' |
| type: string |
| optional: |
| description: Specify whether the Secret or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| envs: |
| description: Optional environment variables to add to the |
| internal build |
| items: |
| description: EnvVar represents an environment variable present |
| in a Container. |
| properties: |
| name: |
| description: Name of the environment variable. Must |
| be a C_IDENTIFIER. |
| type: string |
| value: |
| description: 'Variable references $(VAR_NAME) are expanded |
| using the previously defined environment variables |
| in the container and any service environment variables. |
| If a variable cannot be resolved, the reference in |
| the input string will be unchanged. Double $$ are |
| reduced to a single $, which allows for escaping the |
| $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce |
| the string literal "$(VAR_NAME)". Escaped references |
| will never be expanded, regardless of whether the |
| variable exists or not. Defaults to "".' |
| type: string |
| valueFrom: |
| description: Source for the environment variable's value. |
| Cannot be used if value is not empty. |
| properties: |
| configMapKeyRef: |
| description: Selects a key of a ConfigMap. |
| properties: |
| key: |
| description: The key to select. |
| type: string |
| name: |
| description: 'Name of the referent. More info: |
| https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, |
| kind, uid?' |
| type: string |
| optional: |
| description: Specify whether the ConfigMap or |
| its key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| fieldRef: |
| description: 'Selects a field of the pod: supports |
| metadata.name, metadata.namespace, `metadata.labels[''<KEY>'']`, |
| `metadata.annotations[''<KEY>'']`, spec.nodeName, |
| spec.serviceAccountName, status.hostIP, status.podIP, |
| status.podIPs.' |
| properties: |
| apiVersion: |
| description: Version of the schema the FieldPath |
| is written in terms of, defaults to "v1". |
| type: string |
| fieldPath: |
| description: Path of the field to select in |
| the specified API version. |
| type: string |
| required: |
| - fieldPath |
| type: object |
| x-kubernetes-map-type: atomic |
| resourceFieldRef: |
| description: 'Selects a resource of the container: |
| only resources limits and requests (limits.cpu, |
| limits.memory, limits.ephemeral-storage, requests.cpu, |
| requests.memory and requests.ephemeral-storage) |
| are currently supported.' |
| properties: |
| containerName: |
| description: 'Container name: required for volumes, |
| optional for env vars' |
| type: string |
| divisor: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies the output format of |
| the exposed resources, defaults to "1" |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| resource: |
| description: 'Required: resource to select' |
| type: string |
| required: |
| - resource |
| type: object |
| x-kubernetes-map-type: atomic |
| secretKeyRef: |
| description: Selects a key of a secret in the pod's |
| namespace |
| properties: |
| key: |
| description: The key of the secret to select |
| from. Must be a valid secret key. |
| type: string |
| name: |
| description: 'Name of the referent. More info: |
| https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, |
| kind, uid?' |
| type: string |
| optional: |
| description: Specify whether the Secret or its |
| key must be defined |
| type: boolean |
| required: |
| - key |
| type: object |
| x-kubernetes-map-type: atomic |
| type: object |
| required: |
| - name |
| type: object |
| type: array |
| resources: |
| description: Resources optional compute resource requirements |
| for the builder |
| properties: |
| claims: |
| description: "Claims lists the names of resources, defined |
| in spec.resourceClaims, that are used by this container. |
| \n This is an alpha field and requires enabling the |
| DynamicResourceAllocation feature gate. \n This field |
| is immutable. It can only be set for containers." |
| items: |
| description: ResourceClaim references one entry in PodSpec.ResourceClaims. |
| properties: |
| name: |
| description: Name must match the name of one entry |
| in pod.spec.resourceClaims of the Pod where this |
| field is used. It makes that resource available |
| inside a container. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| x-kubernetes-list-map-keys: |
| - name |
| x-kubernetes-list-type: map |
| limits: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: 'Limits describes the maximum amount of compute |
| resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' |
| type: object |
| requests: |
| additionalProperties: |
| anyOf: |
| - type: integer |
| - type: string |
| pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ |
| x-kubernetes-int-or-string: true |
| description: 'Requests describes the minimum amount of |
| compute resources required. If Requests is omitted for |
| a container, it defaults to Limits if that is explicitly |
| specified, otherwise to an implementation-defined value. |
| Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' |
| type: object |
| type: object |
| timeout: |
| description: Timeout defines the Build maximum execution duration. |
| The Build deadline is set to the Build start time plus the |
| Timeout duration. If the Build deadline is exceeded, the |
| Build context is canceled, and its phase set to BuildPhaseFailed. |
| format: duration |
| type: string |
| type: object |
| type: object |
| devMode: |
| description: Attributes for running workflows in devmode (immutable, |
| no build required) |
| properties: |
| baseImage: |
| description: Base image to run the Workflow in dev mode instead |
| of the operator's default. |
| type: string |
| type: object |
| type: object |
| status: |
| description: SonataFlowPlatformStatus defines the observed state of SonataFlowPlatform |
| properties: |
| cluster: |
| description: Cluster what kind of cluster you're running (ie, plain |
| Kubernetes or OpenShift) |
| enum: |
| - kubernetes |
| - openshift |
| type: string |
| conditions: |
| description: The latest available observations of a resource's current |
| state. |
| items: |
| description: Condition describes the common structure for conditions |
| in our types |
| properties: |
| lastUpdateTime: |
| description: The last time this condition was updated. |
| format: date-time |
| 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 |
| status: |
| description: Status of the condition, one of True, False, Unknown. |
| type: string |
| type: |
| description: Type condition for the given object |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| info: |
| additionalProperties: |
| type: string |
| description: Info generic information related to the build |
| type: object |
| observedGeneration: |
| description: The generation observed by the deployment controller. |
| format: int64 |
| type: integer |
| version: |
| description: Version the operator version controlling this Platform |
| type: string |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| --- |
| apiVersion: apiextensions.k8s.io/v1 |
| kind: CustomResourceDefinition |
| metadata: |
| annotations: |
| controller-gen.kubebuilder.io/version: v0.9.2 |
| creationTimestamp: null |
| name: sonataflows.sonataflow.org |
| spec: |
| group: sonataflow.org |
| names: |
| kind: SonataFlow |
| listKind: SonataFlowList |
| plural: sonataflows |
| shortNames: |
| - sf |
| - workflow |
| - workflows |
| singular: sonataflow |
| scope: Namespaced |
| versions: |
| - additionalPrinterColumns: |
| - jsonPath: .metadata.annotations.sonataflow\.org\/profile |
| name: Profile |
| type: string |
| - jsonPath: .metadata.annotations.sonataflow\.org\/version |
| name: Version |
| type: string |
| - jsonPath: .status.endpoint |
| name: URL |
| type: string |
| - jsonPath: .status.conditions[?(@.type=='Running')].status |
| name: Ready |
| type: string |
| - jsonPath: .status.conditions[?(@.type=='Running')].reason |
| name: Reason |
| type: string |
| name: v1alpha08 |
| schema: |
| openAPIV3Schema: |
| description: SonataFlow is the descriptor representation for a workflow application |
| based on the CNCF Serverless Workflow specification. |
| 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 |
| metadata: |
| type: object |
| spec: |
| description: SonataFlowSpec defines the desired state of SonataFlow |
| properties: |
| flow: |
| description: "Flow describes the contents of the Workflow definition |
| following the CNCF Serverless Workflow Specification. The attributes |
| not part of the flow are defined by the Custom Resource metadata |
| information, as follows: \n - Id, name, and key are replaced by |
| the Custom Resource's name. Must follow the Kubernetes naming patterns |
| (RFC1123). \n - Description can be added in the CR's annotation |
| field sonataflow.org/description \n - Version is also defined in |
| the CR's annotation, field sonataflow.org/version \n - SpecVersion |
| is in the CR's apiVersion, for example v1alpha08 means that it follows |
| the specification version 0.8." |
| properties: |
| annotations: |
| description: Annotations List of helpful terms describing the |
| workflows intended purpose, subject areas, or other important |
| qualities. |
| items: |
| type: string |
| type: array |
| auth: |
| description: Auth definitions can be used to define authentication |
| information that should be applied to resources defined in the |
| operation property of function definitions. It is not used as |
| authentication information for the function invocation, but |
| just to access the resource containing the function invocation |
| information. |
| x-kubernetes-preserve-unknown-fields: true |
| autoRetries: |
| description: AutoRetries If set to true, actions should automatically |
| be retried on unchecked errors. Default is false |
| type: boolean |
| constants: |
| additionalProperties: |
| description: RawMessage is a raw encoded JSON value. It implements |
| Marshaler and Unmarshaler and can be used to delay JSON decoding |
| or precompute a JSON encoding. |
| format: byte |
| type: string |
| description: Constants Workflow constants are used to define static, |
| and immutable, data which is available to Workflow Expressions. |
| type: object |
| dataInputSchema: |
| description: DataInputSchema URI of the JSON Schema used to validate |
| the workflow data input |
| properties: |
| failOnValidationErrors: |
| type: boolean |
| schema: |
| type: string |
| required: |
| - failOnValidationErrors |
| - schema |
| type: object |
| errors: |
| description: Defines checked errors that can be explicitly handled |
| during workflow execution. |
| items: |
| description: Error declaration for workflow definitions |
| properties: |
| code: |
| description: Code OnError code. Can be used in addition |
| to the name to help runtimes resolve to technical errors/exceptions. |
| Should not be defined if error is set to '*'. |
| type: string |
| description: |
| description: OnError description. |
| type: string |
| name: |
| description: Name Domain-specific error name. |
| type: string |
| required: |
| - name |
| type: object |
| type: array |
| events: |
| items: |
| description: Event used to define events and their correlations |
| properties: |
| correlation: |
| description: Define event correlation rules for this event. |
| Only used for consumed events. |
| items: |
| description: Correlation define event correlation rules |
| for an event. Only used for `consumed` events |
| properties: |
| contextAttributeName: |
| description: CloudEvent Extension Context Attribute |
| name |
| type: string |
| contextAttributeValue: |
| description: CloudEvent Extension Context Attribute |
| value |
| type: string |
| required: |
| - contextAttributeName |
| type: object |
| type: array |
| dataOnly: |
| description: If `true`, only the Event payload is accessible |
| to consuming Workflow states. If `false`, both event payload |
| and context attributes should be accessible. Defaults |
| to true. |
| type: boolean |
| kind: |
| default: consumed |
| description: Defines the CloudEvent as either 'consumed' |
| or 'produced' by the workflow. Defaults to `consumed`. |
| enum: |
| - consumed |
| - produced |
| type: string |
| metadata: |
| additionalProperties: |
| type: object |
| description: Metadata information |
| type: object |
| name: |
| description: Unique event name. |
| type: string |
| source: |
| description: CloudEvent source. |
| type: string |
| type: |
| description: CloudEvent type. |
| type: string |
| required: |
| - name |
| - type |
| type: object |
| type: array |
| functions: |
| items: |
| description: Function ... |
| properties: |
| authRef: |
| description: References an auth definition name to be used |
| to access to resource defined in the operation parameter. |
| type: string |
| metadata: |
| additionalProperties: |
| type: object |
| description: Metadata information |
| type: object |
| name: |
| description: Unique function name |
| type: string |
| operation: |
| description: If type is `rest`, <path_to_openapi_definition>#<operation_id>. |
| If type is `rpc`, <path_to_grpc_proto_file>#<service_name>#<service_method>. |
| If type is `expression`, defines the workflow expression. |
| If the type is `custom`, <path_to_custom_script>#<custom_service_method>. |
| type: string |
| type: |
| default: rest |
| description: Defines the function type. Is either `custom`, |
| `rest`, `rpc`, `expression`, `graphql`, `odata` or `asyncapi`. |
| Default is `rest`. |
| enum: |
| - rest |
| - rpc |
| - expression |
| - graphql |
| - odata |
| - asyncapi |
| - custom |
| type: string |
| required: |
| - name |
| - operation |
| type: object |
| type: array |
| keepActive: |
| description: If "true", workflow instances is not terminated when |
| there are no active execution paths. Instance can be terminated |
| with "terminate end definition" or reaching defined "workflowExecTimeout" |
| type: boolean |
| metadata: |
| description: Metadata custom information shared with the runtime. |
| x-kubernetes-preserve-unknown-fields: true |
| retries: |
| items: |
| description: Retry ... |
| properties: |
| delay: |
| description: Time delay between retry attempts (ISO 8601 |
| duration format) |
| type: string |
| increment: |
| description: Static value by which the delay increases during |
| each attempt (ISO 8601 time format) |
| type: string |
| jitter: |
| description: 'If float type, maximum amount of random time |
| added or subtracted from the delay between each retry |
| relative to total delay (between 0 and 1). If string type, |
| absolute maximum amount of random time added or subtracted |
| from the delay between each retry (ISO 8601 duration format) |
| TODO: make iso8601duration compatible this type' |
| properties: |
| floatVal: |
| type: number |
| strVal: |
| type: string |
| type: |
| description: Type represents the stored type of Float32OrString. |
| format: int64 |
| type: integer |
| type: object |
| maxAttempts: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Maximum number of retry attempts. |
| x-kubernetes-int-or-string: true |
| maxDelay: |
| description: Maximum time delay between retry attempts (ISO |
| 8601 duration format) |
| type: string |
| multiplier: |
| description: Numeric value, if specified the delay between |
| retries is multiplied by this value. |
| properties: |
| floatVal: |
| type: number |
| strVal: |
| type: string |
| type: |
| description: Type represents the stored type of Float32OrString. |
| format: int64 |
| type: integer |
| type: object |
| name: |
| description: Unique retry strategy name |
| type: string |
| required: |
| - maxAttempts |
| - name |
| type: object |
| type: array |
| secrets: |
| description: Secrets allow you to access sensitive information, |
| such as passwords, OAuth tokens, ssh keys, etc, inside your |
| Workflow Expressions. |
| items: |
| type: string |
| type: array |
| start: |
| description: Workflow start definition. |
| x-kubernetes-preserve-unknown-fields: true |
| states: |
| items: |
| properties: |
| callbackState: |
| description: callbackState executes a function and waits |
| for callback event that indicates completion of the task. |
| properties: |
| action: |
| description: Defines the action to be executed. |
| properties: |
| actionDataFilter: |
| description: Filter the state data to select only |
| the data that can be used within function definition |
| arguments using its fromStateData property. Filter |
| the action results to select only the result data |
| that should be added/merged back into the state |
| data using its results property. Select the part |
| of state data which the action data results should |
| be added/merged to using the toStateData property. |
| properties: |
| fromStateData: |
| description: Workflow expression that filters |
| state data that can be used by the action. |
| type: string |
| results: |
| description: Workflow expression that filters |
| the actions data results. |
| type: string |
| toStateData: |
| description: Workflow expression that selects |
| a state data element to which the action results |
| should be added/merged into. If not specified |
| denotes the top-level state data element. |
| type: string |
| useResults: |
| description: If set to false, action data results |
| are not added/merged to state data. In this |
| case 'results' and 'toStateData' should be |
| ignored. Default is true. |
| type: boolean |
| type: object |
| condition: |
| description: Expression, if defined, must evaluate |
| to true for this action to be performed. If false, |
| action is disregarded. |
| type: string |
| eventRef: |
| description: References a 'trigger' and 'result' |
| reusable event definitions. |
| properties: |
| contextAttributes: |
| additionalProperties: |
| type: object |
| description: Add additional extension context |
| attributes to the produced event. |
| type: object |
| data: |
| description: If string type, an expression which |
| selects parts of the states data output to |
| become the data (payload) of the event referenced |
| by triggerEventRef. If object type, a custom |
| object to become the data (payload) of the |
| event referenced by triggerEventRef. |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function should |
| be invoked sync or async. Default is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| resultEventRef: |
| description: Reference to the unique name of |
| a 'consumed' event definition |
| type: string |
| resultEventTimeout: |
| description: Maximum amount of time (ISO 8601 |
| format) to wait for the result event. If not |
| defined it be set to the actionExecutionTimeout |
| type: string |
| triggerEventRef: |
| description: Reference to the unique name of |
| a 'produced' event definition, |
| type: string |
| required: |
| - resultEventRef |
| - triggerEventRef |
| type: object |
| functionRef: |
| description: References a reusable function definition. |
| properties: |
| arguments: |
| additionalProperties: |
| type: object |
| description: 'Arguments (inputs) to be passed |
| to the referenced function TODO: validate |
| it as required if function type is graphql' |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function should |
| be invoked sync or async. Default is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| refName: |
| description: Name of the referenced function. |
| type: string |
| selectionSet: |
| description: 'Used if function type is graphql. |
| String containing a valid GraphQL selection |
| set. TODO: validate it as required if function |
| type is graphql' |
| type: string |
| required: |
| - refName |
| type: object |
| id: |
| description: Defines Unique action identifier. |
| type: string |
| name: |
| description: Defines Unique action name. |
| type: string |
| nonRetryableErrors: |
| description: List of unique references to defined |
| workflow errors for which the action should not |
| be retried. Used only when `autoRetries` is set |
| to `true` |
| items: |
| type: string |
| type: array |
| retryRef: |
| description: References a defined workflow retry |
| definition. If not defined uses the default runtime |
| retry definition. |
| type: string |
| retryableErrors: |
| description: List of unique references to defined |
| workflow errors for which the action should be |
| retried. Used only when `autoRetries` is set to |
| `false` |
| items: |
| type: string |
| type: array |
| sleep: |
| description: Defines time period workflow execution |
| should sleep before / after function execution. |
| properties: |
| after: |
| description: Defines amount of time (ISO 8601 |
| duration format) to sleep after function/subflow |
| invocation. Does not apply if 'eventRef' is |
| defined. |
| type: string |
| before: |
| description: Defines amount of time (ISO 8601 |
| duration format) to sleep before function/subflow |
| invocation. Does not apply if 'eventRef' is |
| defined. |
| type: string |
| type: object |
| subFlowRef: |
| description: References a workflow to be invoked. |
| properties: |
| invoke: |
| default: sync |
| description: Specifies if the subflow should |
| be invoked sync or async. Defaults to sync. |
| enum: |
| - async |
| - sync |
| type: string |
| onParentComplete: |
| default: terminate |
| description: onParentComplete specifies how |
| subflow execution should behave when parent |
| workflow completes if invoke is 'async'. Defaults |
| to terminate. |
| enum: |
| - terminate |
| - continue |
| type: string |
| version: |
| description: Sub-workflow version |
| type: string |
| workflowId: |
| description: Sub-workflow unique id |
| type: string |
| required: |
| - workflowId |
| type: object |
| type: object |
| eventDataFilter: |
| description: Event data filter definition. |
| properties: |
| data: |
| description: Workflow expression that filters of |
| the event data (payload). |
| type: string |
| toStateData: |
| description: Workflow expression that selects a |
| state data element to which the action results |
| should be added/merged into. If not specified |
| denotes the top-level state data element |
| type: string |
| useData: |
| description: If set to false, event payload is not |
| added/merged to state data. In this case 'data' |
| and 'toStateData' should be ignored. Default is |
| true. |
| type: boolean |
| type: object |
| eventRef: |
| description: References a unique callback event name |
| in the defined workflow events. |
| type: string |
| timeouts: |
| description: Time period to wait for incoming events |
| (ISO 8601 format) |
| properties: |
| actionExecTimeout: |
| description: Default single actions definition execution |
| timeout (ISO 8601 duration format) |
| type: string |
| eventTimeout: |
| description: Default timeout for consuming defined |
| events (ISO 8601 duration format) |
| type: string |
| stateExecTimeout: |
| description: Default workflow state execution timeout |
| (ISO 8601 duration format) |
| properties: |
| single: |
| description: Single state execution timeout, |
| not including retries (ISO 8601 duration format) |
| type: string |
| total: |
| description: Total state execution timeout, |
| including retries (ISO 8601 duration format) |
| type: string |
| required: |
| - total |
| type: object |
| type: object |
| required: |
| - action |
| - eventRef |
| type: object |
| compensatedBy: |
| description: Unique Name of a workflow state which is responsible |
| for compensation of this state. |
| type: string |
| delayState: |
| description: delayState Causes the workflow execution to |
| delay for a specified duration. |
| properties: |
| timeDelay: |
| description: Amount of time (ISO 8601 format) to delay |
| type: string |
| required: |
| - timeDelay |
| type: object |
| end: |
| description: State end definition. |
| x-kubernetes-preserve-unknown-fields: true |
| eventState: |
| description: event states await one or more events and perform |
| actions when they are received. If defined as the workflow |
| starting state, the event state definition controls when |
| the workflow instances should be created. |
| properties: |
| exclusive: |
| default: true |
| description: If true consuming one of the defined events |
| causes its associated actions to be performed. If |
| false all the defined events must be consumed in order |
| for actions to be performed. Defaults to true. |
| type: boolean |
| onEvents: |
| description: Define the events to be consumed and optional |
| actions to be performed. |
| items: |
| description: OnEvents define which actions are be |
| performed for the one or more events. |
| properties: |
| actionMode: |
| default: sequential |
| description: Should actions be performed sequentially |
| or in parallel. Default is sequential. |
| enum: |
| - sequential |
| - parallel |
| type: string |
| actions: |
| description: Actions to be performed if expression |
| matches |
| items: |
| description: Action specify invocations of services |
| or other workflows during workflow execution. |
| properties: |
| actionDataFilter: |
| description: Filter the state data to select |
| only the data that can be used within |
| function definition arguments using its |
| fromStateData property. Filter the action |
| results to select only the result data |
| that should be added/merged back into |
| the state data using its results property. |
| Select the part of state data which the |
| action data results should be added/merged |
| to using the toStateData property. |
| properties: |
| fromStateData: |
| description: Workflow expression that |
| filters state data that can be used |
| by the action. |
| type: string |
| results: |
| description: Workflow expression that |
| filters the actions data results. |
| type: string |
| toStateData: |
| description: Workflow expression that |
| selects a state data element to which |
| the action results should be added/merged |
| into. If not specified denotes the |
| top-level state data element. |
| type: string |
| useResults: |
| description: If set to false, action |
| data results are not added/merged |
| to state data. In this case 'results' |
| and 'toStateData' should be ignored. |
| Default is true. |
| type: boolean |
| type: object |
| condition: |
| description: Expression, if defined, must |
| evaluate to true for this action to be |
| performed. If false, action is disregarded. |
| type: string |
| eventRef: |
| description: References a 'trigger' and |
| 'result' reusable event definitions. |
| properties: |
| contextAttributes: |
| additionalProperties: |
| type: object |
| description: Add additional extension |
| context attributes to the produced |
| event. |
| type: object |
| data: |
| description: If string type, an expression |
| which selects parts of the states |
| data output to become the data (payload) |
| of the event referenced by triggerEventRef. |
| If object type, a custom object to |
| become the data (payload) of the event |
| referenced by triggerEventRef. |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function |
| should be invoked sync or async. Default |
| is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| resultEventRef: |
| description: Reference to the unique |
| name of a 'consumed' event definition |
| type: string |
| resultEventTimeout: |
| description: Maximum amount of time |
| (ISO 8601 format) to wait for the |
| result event. If not defined it be |
| set to the actionExecutionTimeout |
| type: string |
| triggerEventRef: |
| description: Reference to the unique |
| name of a 'produced' event definition, |
| type: string |
| required: |
| - resultEventRef |
| - triggerEventRef |
| type: object |
| functionRef: |
| description: References a reusable function |
| definition. |
| properties: |
| arguments: |
| additionalProperties: |
| type: object |
| description: 'Arguments (inputs) to |
| be passed to the referenced function |
| TODO: validate it as required if function |
| type is graphql' |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function |
| should be invoked sync or async. Default |
| is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| refName: |
| description: Name of the referenced |
| function. |
| type: string |
| selectionSet: |
| description: 'Used if function type |
| is graphql. String containing a valid |
| GraphQL selection set. TODO: validate |
| it as required if function type is |
| graphql' |
| type: string |
| required: |
| - refName |
| type: object |
| id: |
| description: Defines Unique action identifier. |
| type: string |
| name: |
| description: Defines Unique action name. |
| type: string |
| nonRetryableErrors: |
| description: List of unique references to |
| defined workflow errors for which the |
| action should not be retried. Used only |
| when `autoRetries` is set to `true` |
| items: |
| type: string |
| type: array |
| retryRef: |
| description: References a defined workflow |
| retry definition. If not defined uses |
| the default runtime retry definition. |
| type: string |
| retryableErrors: |
| description: List of unique references to |
| defined workflow errors for which the |
| action should be retried. Used only when |
| `autoRetries` is set to `false` |
| items: |
| type: string |
| type: array |
| sleep: |
| description: Defines time period workflow |
| execution should sleep before / after |
| function execution. |
| properties: |
| after: |
| description: Defines amount of time |
| (ISO 8601 duration format) to sleep |
| after function/subflow invocation. |
| Does not apply if 'eventRef' is defined. |
| type: string |
| before: |
| description: Defines amount of time |
| (ISO 8601 duration format) to sleep |
| before function/subflow invocation. |
| Does not apply if 'eventRef' is defined. |
| type: string |
| type: object |
| subFlowRef: |
| description: References a workflow to be |
| invoked. |
| properties: |
| invoke: |
| default: sync |
| description: Specifies if the subflow |
| should be invoked sync or async. Defaults |
| to sync. |
| enum: |
| - async |
| - sync |
| type: string |
| onParentComplete: |
| default: terminate |
| description: onParentComplete specifies |
| how subflow execution should behave |
| when parent workflow completes if |
| invoke is 'async'. Defaults to terminate. |
| enum: |
| - terminate |
| - continue |
| type: string |
| version: |
| description: Sub-workflow version |
| type: string |
| workflowId: |
| description: Sub-workflow unique id |
| type: string |
| required: |
| - workflowId |
| type: object |
| type: object |
| type: array |
| eventDataFilter: |
| description: eventDataFilter defines the callback |
| event data filter definition |
| properties: |
| data: |
| description: Workflow expression that filters |
| of the event data (payload). |
| type: string |
| toStateData: |
| description: Workflow expression that selects |
| a state data element to which the action |
| results should be added/merged into. If |
| not specified denotes the top-level state |
| data element |
| type: string |
| useData: |
| description: If set to false, event payload |
| is not added/merged to state data. In this |
| case 'data' and 'toStateData' should be |
| ignored. Default is true. |
| type: boolean |
| type: object |
| eventRefs: |
| description: References one or more unique event |
| names in the defined workflow events. |
| items: |
| type: string |
| minItems: 1 |
| type: array |
| required: |
| - eventRefs |
| type: object |
| minItems: 1 |
| type: array |
| timeouts: |
| description: State specific timeouts. |
| properties: |
| actionExecTimeout: |
| description: Default single actions definition execution |
| timeout (ISO 8601 duration format) |
| type: string |
| eventTimeout: |
| description: Default timeout for consuming defined |
| events (ISO 8601 duration format) |
| type: string |
| stateExecTimeout: |
| description: Default workflow state execution timeout |
| (ISO 8601 duration format) |
| properties: |
| single: |
| description: Single state execution timeout, |
| not including retries (ISO 8601 duration format) |
| type: string |
| total: |
| description: Total state execution timeout, |
| including retries (ISO 8601 duration format) |
| type: string |
| required: |
| - total |
| type: object |
| type: object |
| required: |
| - onEvents |
| type: object |
| forEachState: |
| description: forEachState used to execute actions for each |
| element of a data set. |
| properties: |
| actions: |
| description: Actions to be executed for each of the |
| elements of inputCollection. |
| items: |
| description: Action specify invocations of services |
| or other workflows during workflow execution. |
| properties: |
| actionDataFilter: |
| description: Filter the state data to select only |
| the data that can be used within function definition |
| arguments using its fromStateData property. |
| Filter the action results to select only the |
| result data that should be added/merged back |
| into the state data using its results property. |
| Select the part of state data which the action |
| data results should be added/merged to using |
| the toStateData property. |
| properties: |
| fromStateData: |
| description: Workflow expression that filters |
| state data that can be used by the action. |
| type: string |
| results: |
| description: Workflow expression that filters |
| the actions data results. |
| type: string |
| toStateData: |
| description: Workflow expression that selects |
| a state data element to which the action |
| results should be added/merged into. If |
| not specified denotes the top-level state |
| data element. |
| type: string |
| useResults: |
| description: If set to false, action data |
| results are not added/merged to state data. |
| In this case 'results' and 'toStateData' |
| should be ignored. Default is true. |
| type: boolean |
| type: object |
| condition: |
| description: Expression, if defined, must evaluate |
| to true for this action to be performed. If |
| false, action is disregarded. |
| type: string |
| eventRef: |
| description: References a 'trigger' and 'result' |
| reusable event definitions. |
| properties: |
| contextAttributes: |
| additionalProperties: |
| type: object |
| description: Add additional extension context |
| attributes to the produced event. |
| type: object |
| data: |
| description: If string type, an expression |
| which selects parts of the states data output |
| to become the data (payload) of the event |
| referenced by triggerEventRef. If object |
| type, a custom object to become the data |
| (payload) of the event referenced by triggerEventRef. |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function should |
| be invoked sync or async. Default is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| resultEventRef: |
| description: Reference to the unique name |
| of a 'consumed' event definition |
| type: string |
| resultEventTimeout: |
| description: Maximum amount of time (ISO 8601 |
| format) to wait for the result event. If |
| not defined it be set to the actionExecutionTimeout |
| type: string |
| triggerEventRef: |
| description: Reference to the unique name |
| of a 'produced' event definition, |
| type: string |
| required: |
| - resultEventRef |
| - triggerEventRef |
| type: object |
| functionRef: |
| description: References a reusable function definition. |
| properties: |
| arguments: |
| additionalProperties: |
| type: object |
| description: 'Arguments (inputs) to be passed |
| to the referenced function TODO: validate |
| it as required if function type is graphql' |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function should |
| be invoked sync or async. Default is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| refName: |
| description: Name of the referenced function. |
| type: string |
| selectionSet: |
| description: 'Used if function type is graphql. |
| String containing a valid GraphQL selection |
| set. TODO: validate it as required if function |
| type is graphql' |
| type: string |
| required: |
| - refName |
| type: object |
| id: |
| description: Defines Unique action identifier. |
| type: string |
| name: |
| description: Defines Unique action name. |
| type: string |
| nonRetryableErrors: |
| description: List of unique references to defined |
| workflow errors for which the action should |
| not be retried. Used only when `autoRetries` |
| is set to `true` |
| items: |
| type: string |
| type: array |
| retryRef: |
| description: References a defined workflow retry |
| definition. If not defined uses the default |
| runtime retry definition. |
| type: string |
| retryableErrors: |
| description: List of unique references to defined |
| workflow errors for which the action should |
| be retried. Used only when `autoRetries` is |
| set to `false` |
| items: |
| type: string |
| type: array |
| sleep: |
| description: Defines time period workflow execution |
| should sleep before / after function execution. |
| properties: |
| after: |
| description: Defines amount of time (ISO 8601 |
| duration format) to sleep after function/subflow |
| invocation. Does not apply if 'eventRef' |
| is defined. |
| type: string |
| before: |
| description: Defines amount of time (ISO 8601 |
| duration format) to sleep before function/subflow |
| invocation. Does not apply if 'eventRef' |
| is defined. |
| type: string |
| type: object |
| subFlowRef: |
| description: References a workflow to be invoked. |
| properties: |
| invoke: |
| default: sync |
| description: Specifies if the subflow should |
| be invoked sync or async. Defaults to sync. |
| enum: |
| - async |
| - sync |
| type: string |
| onParentComplete: |
| default: terminate |
| description: onParentComplete specifies how |
| subflow execution should behave when parent |
| workflow completes if invoke is 'async'. |
| Defaults to terminate. |
| enum: |
| - terminate |
| - continue |
| type: string |
| version: |
| description: Sub-workflow version |
| type: string |
| workflowId: |
| description: Sub-workflow unique id |
| type: string |
| required: |
| - workflowId |
| type: object |
| type: object |
| minItems: 0 |
| type: array |
| batchSize: |
| anyOf: |
| - type: integer |
| - type: string |
| description: Specifies how many iterations may run in |
| parallel at the same time. Used if mode property is |
| set to parallel (default). If not specified, its value |
| should be the size of the inputCollection. |
| x-kubernetes-int-or-string: true |
| inputCollection: |
| description: Workflow expression selecting an array |
| element of the states' data. |
| type: string |
| iterationParam: |
| description: Name of the iteration parameter that can |
| be referenced in actions/workflow. For each parallel |
| iteration, this param should contain a unique element |
| of the inputCollection array. |
| type: string |
| mode: |
| default: parallel |
| description: Specifies how iterations are to be performed |
| (sequential or in parallel), defaults to parallel. |
| enum: |
| - sequential |
| - parallel |
| type: string |
| outputCollection: |
| description: Workflow expression specifying an array |
| element of the states data to add the results of each |
| iteration. |
| type: string |
| timeouts: |
| description: State specific timeout. |
| properties: |
| actionExecTimeout: |
| description: Default single actions definition execution |
| timeout (ISO 8601 duration format) |
| type: string |
| stateExecTimeout: |
| description: Default workflow state execution timeout |
| (ISO 8601 duration format) |
| properties: |
| single: |
| description: Single state execution timeout, |
| not including retries (ISO 8601 duration format) |
| type: string |
| total: |
| description: Total state execution timeout, |
| including retries (ISO 8601 duration format) |
| type: string |
| required: |
| - total |
| type: object |
| type: object |
| required: |
| - inputCollection |
| type: object |
| id: |
| description: Unique State id. |
| type: string |
| injectState: |
| description: injectState used to inject static data into |
| state data input. |
| properties: |
| data: |
| additionalProperties: |
| type: object |
| description: JSON object which can be set as state's |
| data input and can be manipulated via filter |
| minProperties: 1 |
| type: object |
| timeouts: |
| description: State specific timeouts |
| properties: |
| stateExecTimeout: |
| description: Default workflow state execution timeout |
| (ISO 8601 duration format) |
| properties: |
| single: |
| description: Single state execution timeout, |
| not including retries (ISO 8601 duration format) |
| type: string |
| total: |
| description: Total state execution timeout, |
| including retries (ISO 8601 duration format) |
| type: string |
| required: |
| - total |
| type: object |
| type: object |
| required: |
| - data |
| type: object |
| metadata: |
| additionalProperties: |
| type: object |
| description: Metadata information. |
| type: object |
| name: |
| description: State name. |
| type: string |
| onErrors: |
| description: States error handling and retries definitions. |
| items: |
| description: OnError ... |
| properties: |
| end: |
| description: End workflow execution in case of this |
| error. If retryRef is defined, this ends workflow |
| only if retries were unsuccessful. |
| x-kubernetes-preserve-unknown-fields: true |
| errorRef: |
| description: ErrorRef Reference to a unique workflow |
| error definition. Used of errorRefs is not used |
| type: string |
| errorRefs: |
| description: ErrorRefs References one or more workflow |
| error definitions. Used if errorRef is not used |
| items: |
| type: string |
| type: array |
| transition: |
| description: Transition to next state to handle the |
| error. If retryRef is defined, this transition is |
| taken only if retries were unsuccessful. |
| x-kubernetes-preserve-unknown-fields: true |
| type: object |
| type: array |
| operationState: |
| description: operationState defines a set of actions to |
| be performed in sequence or in parallel. |
| properties: |
| actionMode: |
| default: sequential |
| description: Specifies whether actions are performed |
| in sequence or in parallel, defaults to sequential. |
| enum: |
| - sequential |
| - parallel |
| type: string |
| actions: |
| description: Actions to be performed |
| items: |
| description: Action specify invocations of services |
| or other workflows during workflow execution. |
| properties: |
| actionDataFilter: |
| description: Filter the state data to select only |
| the data that can be used within function definition |
| arguments using its fromStateData property. |
| Filter the action results to select only the |
| result data that should be added/merged back |
| into the state data using its results property. |
| Select the part of state data which the action |
| data results should be added/merged to using |
| the toStateData property. |
| properties: |
| fromStateData: |
| description: Workflow expression that filters |
| state data that can be used by the action. |
| type: string |
| results: |
| description: Workflow expression that filters |
| the actions data results. |
| type: string |
| toStateData: |
| description: Workflow expression that selects |
| a state data element to which the action |
| results should be added/merged into. If |
| not specified denotes the top-level state |
| data element. |
| type: string |
| useResults: |
| description: If set to false, action data |
| results are not added/merged to state data. |
| In this case 'results' and 'toStateData' |
| should be ignored. Default is true. |
| type: boolean |
| type: object |
| condition: |
| description: Expression, if defined, must evaluate |
| to true for this action to be performed. If |
| false, action is disregarded. |
| type: string |
| eventRef: |
| description: References a 'trigger' and 'result' |
| reusable event definitions. |
| properties: |
| contextAttributes: |
| additionalProperties: |
| type: object |
| description: Add additional extension context |
| attributes to the produced event. |
| type: object |
| data: |
| description: If string type, an expression |
| which selects parts of the states data output |
| to become the data (payload) of the event |
| referenced by triggerEventRef. If object |
| type, a custom object to become the data |
| (payload) of the event referenced by triggerEventRef. |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function should |
| be invoked sync or async. Default is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| resultEventRef: |
| description: Reference to the unique name |
| of a 'consumed' event definition |
| type: string |
| resultEventTimeout: |
| description: Maximum amount of time (ISO 8601 |
| format) to wait for the result event. If |
| not defined it be set to the actionExecutionTimeout |
| type: string |
| triggerEventRef: |
| description: Reference to the unique name |
| of a 'produced' event definition, |
| type: string |
| required: |
| - resultEventRef |
| - triggerEventRef |
| type: object |
| functionRef: |
| description: References a reusable function definition. |
| properties: |
| arguments: |
| additionalProperties: |
| type: object |
| description: 'Arguments (inputs) to be passed |
| to the referenced function TODO: validate |
| it as required if function type is graphql' |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function should |
| be invoked sync or async. Default is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| refName: |
| description: Name of the referenced function. |
| type: string |
| selectionSet: |
| description: 'Used if function type is graphql. |
| String containing a valid GraphQL selection |
| set. TODO: validate it as required if function |
| type is graphql' |
| type: string |
| required: |
| - refName |
| type: object |
| id: |
| description: Defines Unique action identifier. |
| type: string |
| name: |
| description: Defines Unique action name. |
| type: string |
| nonRetryableErrors: |
| description: List of unique references to defined |
| workflow errors for which the action should |
| not be retried. Used only when `autoRetries` |
| is set to `true` |
| items: |
| type: string |
| type: array |
| retryRef: |
| description: References a defined workflow retry |
| definition. If not defined uses the default |
| runtime retry definition. |
| type: string |
| retryableErrors: |
| description: List of unique references to defined |
| workflow errors for which the action should |
| be retried. Used only when `autoRetries` is |
| set to `false` |
| items: |
| type: string |
| type: array |
| sleep: |
| description: Defines time period workflow execution |
| should sleep before / after function execution. |
| properties: |
| after: |
| description: Defines amount of time (ISO 8601 |
| duration format) to sleep after function/subflow |
| invocation. Does not apply if 'eventRef' |
| is defined. |
| type: string |
| before: |
| description: Defines amount of time (ISO 8601 |
| duration format) to sleep before function/subflow |
| invocation. Does not apply if 'eventRef' |
| is defined. |
| type: string |
| type: object |
| subFlowRef: |
| description: References a workflow to be invoked. |
| properties: |
| invoke: |
| default: sync |
| description: Specifies if the subflow should |
| be invoked sync or async. Defaults to sync. |
| enum: |
| - async |
| - sync |
| type: string |
| onParentComplete: |
| default: terminate |
| description: onParentComplete specifies how |
| subflow execution should behave when parent |
| workflow completes if invoke is 'async'. |
| Defaults to terminate. |
| enum: |
| - terminate |
| - continue |
| type: string |
| version: |
| description: Sub-workflow version |
| type: string |
| workflowId: |
| description: Sub-workflow unique id |
| type: string |
| required: |
| - workflowId |
| type: object |
| type: object |
| minItems: 0 |
| type: array |
| timeouts: |
| description: State specific timeouts |
| properties: |
| actionExecTimeout: |
| description: Default single actions definition execution |
| timeout (ISO 8601 duration format) |
| type: string |
| stateExecTimeout: |
| description: Defines workflow state execution timeout. |
| properties: |
| single: |
| description: Single state execution timeout, |
| not including retries (ISO 8601 duration format) |
| type: string |
| total: |
| description: Total state execution timeout, |
| including retries (ISO 8601 duration format) |
| type: string |
| required: |
| - total |
| type: object |
| type: object |
| required: |
| - actions |
| type: object |
| parallelState: |
| description: parallelState Consists of a number of states |
| that are executed in parallel. |
| properties: |
| branches: |
| description: List of branches for this parallel state. |
| items: |
| description: Branch Definition |
| properties: |
| actions: |
| description: Actions to be executed in this branch |
| items: |
| description: Action specify invocations of services |
| or other workflows during workflow execution. |
| properties: |
| actionDataFilter: |
| description: Filter the state data to select |
| only the data that can be used within |
| function definition arguments using its |
| fromStateData property. Filter the action |
| results to select only the result data |
| that should be added/merged back into |
| the state data using its results property. |
| Select the part of state data which the |
| action data results should be added/merged |
| to using the toStateData property. |
| properties: |
| fromStateData: |
| description: Workflow expression that |
| filters state data that can be used |
| by the action. |
| type: string |
| results: |
| description: Workflow expression that |
| filters the actions data results. |
| type: string |
| toStateData: |
| description: Workflow expression that |
| selects a state data element to which |
| the action results should be added/merged |
| into. If not specified denotes the |
| top-level state data element. |
| type: string |
| useResults: |
| description: If set to false, action |
| data results are not added/merged |
| to state data. In this case 'results' |
| and 'toStateData' should be ignored. |
| Default is true. |
| type: boolean |
| type: object |
| condition: |
| description: Expression, if defined, must |
| evaluate to true for this action to be |
| performed. If false, action is disregarded. |
| type: string |
| eventRef: |
| description: References a 'trigger' and |
| 'result' reusable event definitions. |
| properties: |
| contextAttributes: |
| additionalProperties: |
| type: object |
| description: Add additional extension |
| context attributes to the produced |
| event. |
| type: object |
| data: |
| description: If string type, an expression |
| which selects parts of the states |
| data output to become the data (payload) |
| of the event referenced by triggerEventRef. |
| If object type, a custom object to |
| become the data (payload) of the event |
| referenced by triggerEventRef. |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function |
| should be invoked sync or async. Default |
| is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| resultEventRef: |
| description: Reference to the unique |
| name of a 'consumed' event definition |
| type: string |
| resultEventTimeout: |
| description: Maximum amount of time |
| (ISO 8601 format) to wait for the |
| result event. If not defined it be |
| set to the actionExecutionTimeout |
| type: string |
| triggerEventRef: |
| description: Reference to the unique |
| name of a 'produced' event definition, |
| type: string |
| required: |
| - resultEventRef |
| - triggerEventRef |
| type: object |
| functionRef: |
| description: References a reusable function |
| definition. |
| properties: |
| arguments: |
| additionalProperties: |
| type: object |
| description: 'Arguments (inputs) to |
| be passed to the referenced function |
| TODO: validate it as required if function |
| type is graphql' |
| type: object |
| invoke: |
| default: sync |
| description: Specifies if the function |
| should be invoked sync or async. Default |
| is sync. |
| enum: |
| - async |
| - sync |
| type: string |
| refName: |
| description: Name of the referenced |
| function. |
| type: string |
| selectionSet: |
| description: 'Used if function type |
| is graphql. String containing a valid |
| GraphQL selection set. TODO: validate |
| it as required if function type is |
| graphql' |
| type: string |
| required: |
| - refName |
| type: object |
| id: |
| description: Defines Unique action identifier. |
| type: string |
| name: |
| description: Defines Unique action name. |
| type: string |
| nonRetryableErrors: |
| description: List of unique references to |
| defined workflow errors for which the |
| action should not be retried. Used only |
| when `autoRetries` is set to `true` |
| items: |
| type: string |
| type: array |
| retryRef: |
| description: References a defined workflow |
| retry definition. If not defined uses |
| the default runtime retry definition. |
| type: string |
| retryableErrors: |
| description: List of unique references to |
| defined workflow errors for which the |
| action should be retried. Used only when |
| `autoRetries` is set to `false` |
| items: |
| type: string |
| type: array |
| sleep: |
| description: Defines time period workflow |
| execution should sleep before / after |
| function execution. |
| properties: |
| after: |
| description: Defines amount of time |
| (ISO 8601 duration format) to sleep |
| after function/subflow invocation. |
| Does not apply if 'eventRef' is defined. |
| type: string |
| before: |
| description: Defines amount of time |
| (ISO 8601 duration format) to sleep |
| before function/subflow invocation. |
| Does not apply if 'eventRef' is defined. |
| type: string |
| type: object |
| subFlowRef: |
| description: References a workflow to be |
| invoked. |
| properties: |
| invoke: |
| default: sync |
| description: Specifies if the subflow |
| should be invoked sync or async. Defaults |
| to sync. |
| enum: |
| - async |
| - sync |
| type: string |
| onParentComplete: |
| default: terminate |
| description: onParentComplete specifies |
| how subflow execution should behave |
| when parent workflow completes if |
| invoke is 'async'. Defaults to terminate. |
| enum: |
| - terminate |
| - continue |
| type: string |
| version: |
| description: Sub-workflow version |
| type: string |
| workflowId: |
| description: Sub-workflow unique id |
| type: string |
| required: |
| - workflowId |
| type: object |
| type: object |
| minItems: 1 |
| type: array |
| name: |
| description: Branch name |
| type: string |
| timeouts: |
| description: Branch specific timeout settings |
| properties: |
| actionExecTimeout: |
| description: Single actions definition execution |
| timeout duration (ISO 8601 duration format) |
| type: string |
| branchExecTimeout: |
| description: Single branch execution timeout |
| duration (ISO 8601 duration format) |
| type: string |
| type: object |
| required: |
| - actions |
| - name |
| type: object |
| minItems: 1 |
| type: array |
| completionType: |
| default: allOf |
| description: Option types on how to complete branch |
| execution. Defaults to `allOf`. |
| enum: |
| - allOf |
| - atLeast |
| type: string |
| numCompleted: |
| anyOf: |
| - type: integer |
| - type: string |
| description: 'Used when branchCompletionType is set |
| to atLeast to specify the least number of branches |
| that must complete in order for the state to transition/end. |
| TODO: change this field to unmarshal result as int' |
| x-kubernetes-int-or-string: true |
| timeouts: |
| description: State specific timeouts |
| properties: |
| branchExecTimeout: |
| description: Default single branch execution timeout |
| (ISO 8601 duration format) |
| type: string |
| stateExecTimeout: |
| description: Default workflow state execution timeout |
| (ISO 8601 duration format) |
| properties: |
| single: |
| description: Single state execution timeout, |
| not including retries (ISO 8601 duration format) |
| type: string |
| total: |
| description: Total state execution timeout, |
| including retries (ISO 8601 duration format) |
| type: string |
| required: |
| - total |
| type: object |
| type: object |
| required: |
| - branches |
| type: object |
| sleepState: |
| description: sleepState suspends workflow execution for |
| a given time duration. |
| properties: |
| duration: |
| description: Duration (ISO 8601 duration format) to |
| sleep |
| type: string |
| timeouts: |
| description: Timeouts State specific timeouts |
| properties: |
| stateExecTimeout: |
| description: Default workflow state execution timeout |
| (ISO 8601 duration format) |
| properties: |
| single: |
| description: Single state execution timeout, |
| not including retries (ISO 8601 duration format) |
| type: string |
| total: |
| description: Total state execution timeout, |
| including retries (ISO 8601 duration format) |
| type: string |
| required: |
| - total |
| type: object |
| type: object |
| required: |
| - duration |
| type: object |
| stateDataFilter: |
| description: State data filter. |
| properties: |
| input: |
| description: Workflow expression to filter the state |
| data input |
| type: string |
| output: |
| description: Workflow expression that filters the state |
| data output |
| type: string |
| type: object |
| switchState: |
| description: 'switchState is workflow''s gateways: direct |
| transitions onf a workflow based on certain conditions.' |
| properties: |
| dataConditions: |
| description: Defines conditions evaluated against data |
| items: |
| description: DataCondition specify a data-based condition |
| statement which causes a transition to another workflow |
| state if evaluated to true. |
| properties: |
| condition: |
| description: Workflow expression evaluated against |
| state data. Must evaluate to true or false. |
| type: string |
| end: |
| description: TODO End or Transition needs to be |
| exclusive tag, one or another should be set. |
| Explicit transition to end |
| properties: |
| compensate: |
| description: If set to true, triggers workflow |
| compensation before workflow execution completes. |
| Default is false. |
| type: boolean |
| continueAs: |
| description: Defines that current workflow |
| execution should stop, and execution should |
| continue as a new workflow instance of the |
| provided id |
| properties: |
| data: |
| description: If string type, an expression |
| which selects parts of the states data |
| output to become the workflow data input |
| of continued execution. If object type, |
| a custom object to become the workflow |
| data input of the continued execution |
| type: object |
| version: |
| description: Version of the workflow to |
| continue execution as. |
| type: string |
| workflowExecTimeout: |
| description: WorkflowExecTimeout Workflow |
| execution timeout to be used by the |
| workflow continuing execution. Overwrites |
| any specific settings set by that workflow |
| properties: |
| duration: |
| default: unlimited |
| description: Workflow execution timeout |
| duration (ISO 8601 duration format). |
| If not specified should be 'unlimited'. |
| type: string |
| interrupt: |
| description: If false, workflow instance |
| is allowed to finish current execution. |
| If true, current workflow execution |
| is stopped immediately. Default |
| is false. |
| type: boolean |
| runBefore: |
| description: Name of a workflow state |
| to be executed before workflow instance |
| is terminated. |
| type: string |
| required: |
| - duration |
| type: object |
| workflowId: |
| description: Unique id of the workflow |
| to continue execution as. |
| type: string |
| required: |
| - workflowId |
| type: object |
| produceEvents: |
| description: Array of producedEvent definitions. |
| Defines events that should be produced. |
| items: |
| description: ProduceEvent Defines the event |
| (CloudEvent format) to be produced when |
| workflow execution completes or during |
| a workflow transitions. The eventRef property |
| must match the name of one of the defined |
| produced events in the events definition. |
| properties: |
| contextAttributes: |
| additionalProperties: |
| type: string |
| description: Add additional event extension |
| context attributes. |
| type: object |
| data: |
| description: If String, expression which |
| selects parts of the states data output |
| to become the data of the produced |
| event. If object a custom object to |
| become the data of produced event. |
| type: object |
| eventRef: |
| description: Reference to a defined |
| unique event name in the events definition |
| type: string |
| required: |
| - eventRef |
| type: object |
| type: array |
| terminate: |
| description: If true, completes all execution |
| flows in the given workflow instance. |
| type: boolean |
| type: object |
| metadata: |
| additionalProperties: |
| type: object |
| description: Metadata information. |
| type: object |
| name: |
| description: Data condition name. |
| type: string |
| transition: |
| description: Workflow transition if condition |
| is evaluated to true |
| properties: |
| compensate: |
| default: false |
| description: If set to true, triggers workflow |
| compensation before this transition is taken. |
| Default is false. |
| type: boolean |
| nextState: |
| description: Name of the state to transition |
| to next. |
| type: string |
| produceEvents: |
| description: Array of producedEvent definitions. |
| Events to be produced before the transition |
| takes place. |
| items: |
| description: ProduceEvent Defines the event |
| (CloudEvent format) to be produced when |
| workflow execution completes or during |
| a workflow transitions. The eventRef property |
| must match the name of one of the defined |
| produced events in the events definition. |
| properties: |
| contextAttributes: |
| additionalProperties: |
| type: string |
| description: Add additional event extension |
| context attributes. |
| type: object |
| data: |
| description: If String, expression which |
| selects parts of the states data output |
| to become the data of the produced |
| event. If object a custom object to |
| become the data of produced event. |
| type: object |
| eventRef: |
| description: Reference to a defined |
| unique event name in the events definition |
| type: string |
| required: |
| - eventRef |
| type: object |
| type: array |
| required: |
| - nextState |
| type: object |
| required: |
| - condition |
| - end |
| type: object |
| type: array |
| defaultCondition: |
| description: Default transition of the workflow if there |
| is no matching data conditions. Can include a transition |
| or end definition. |
| properties: |
| end: |
| description: If this state an end state |
| x-kubernetes-preserve-unknown-fields: true |
| transition: |
| description: Serverless workflow states can have |
| one or more incoming and outgoing transitions |
| (from/to other states). Each state can define |
| a transition definition that is used to determine |
| which state to transition to next. |
| x-kubernetes-preserve-unknown-fields: true |
| type: object |
| eventConditions: |
| description: Defines conditions evaluated against events. |
| items: |
| description: EventCondition specify events which the |
| switch state must wait for. |
| properties: |
| end: |
| description: TODO End or Transition needs to be |
| exclusive tag, one or another should be set. |
| Explicit transition to end |
| x-kubernetes-preserve-unknown-fields: true |
| eventDataFilter: |
| description: Event data filter definition. |
| properties: |
| data: |
| description: Workflow expression that filters |
| of the event data (payload). |
| type: string |
| toStateData: |
| description: Workflow expression that selects |
| a state data element to which the action |
| results should be added/merged into. If |
| not specified denotes the top-level state |
| data element |
| type: string |
| useData: |
| description: If set to false, event payload |
| is not added/merged to state data. In this |
| case 'data' and 'toStateData' should be |
| ignored. Default is true. |
| type: boolean |
| type: object |
| eventRef: |
| description: References a unique event name in |
| the defined workflow events. |
| type: string |
| metadata: |
| description: Metadata information. |
| x-kubernetes-preserve-unknown-fields: true |
| name: |
| description: Event condition name. |
| type: string |
| transition: |
| description: Workflow transition if condition |
| is evaluated to true |
| x-kubernetes-preserve-unknown-fields: true |
| required: |
| - eventRef |
| type: object |
| type: array |
| timeouts: |
| description: SwitchState specific timeouts |
| properties: |
| eventTimeout: |
| description: 'Specify the expire value to transitions |
| to defaultCondition. When event-based conditions |
| do not arrive. NOTE: this is only available for |
| EventConditions' |
| type: string |
| stateExecTimeout: |
| description: Default workflow state execution timeout |
| (ISO 8601 duration format) |
| properties: |
| single: |
| description: Single state execution timeout, |
| not including retries (ISO 8601 duration format) |
| type: string |
| total: |
| description: Total state execution timeout, |
| including retries (ISO 8601 duration format) |
| type: string |
| required: |
| - total |
| type: object |
| type: object |
| required: |
| - defaultCondition |
| type: object |
| transition: |
| description: Next transition of the workflow after the time |
| delay. |
| x-kubernetes-preserve-unknown-fields: true |
| type: |
| description: stateType can be any of delay, callback, event, |
| foreach, inject, operation, parallel, sleep, switch |
| enum: |
| - delay |
| - callback |
| - event |
| - foreach |
| - inject |
| - operation |
| - parallel |
| - sleep |
| - switch |
| type: string |
| usedForCompensation: |
| description: If true, this state is used to compensate another |
| state. Default is false. |
| type: boolean |
| required: |
| - name |
| - type |
| type: object |
| minItems: 1 |
| type: array |
| x-kubernetes-preserve-unknown-fields: true |
| timeouts: |
| description: Defines the workflow default timeout settings. |
| properties: |
| actionExecTimeout: |
| description: ActionExecTimeout Single actions definition execution |
| timeout duration (ISO 8601 duration format). |
| type: string |
| branchExecTimeout: |
| description: BranchExecTimeout Single branch execution timeout |
| duration (ISO 8601 duration format). |
| type: string |
| eventTimeout: |
| description: EventTimeout Timeout duration to wait for consuming |
| defined events (ISO 8601 duration format). |
| type: string |
| stateExecTimeout: |
| description: StateExecTimeout Total state execution timeout |
| (including retries) (ISO 8601 duration format). |
| properties: |
| single: |
| description: Single state execution timeout, not including |
| retries (ISO 8601 duration format) |
| type: string |
| total: |
| description: Total state execution timeout, including |
| retries (ISO 8601 duration format) |
| type: string |
| required: |
| - total |
| type: object |
| workflowExecTimeout: |
| description: WorkflowExecTimeout Workflow execution timeout |
| duration (ISO 8601 duration format). If not specified should |
| be 'unlimited'. |
| properties: |
| duration: |
| default: unlimited |
| description: Workflow execution timeout duration (ISO |
| 8601 duration format). If not specified should be 'unlimited'. |
| type: string |
| interrupt: |
| description: If false, workflow instance is allowed to |
| finish current execution. If true, current workflow |
| execution is stopped immediately. Default is false. |
| type: boolean |
| runBefore: |
| description: Name of a workflow state to be executed before |
| workflow instance is terminated. |
| type: string |
| required: |
| - duration |
| type: object |
| type: object |
| required: |
| - states |
| type: object |
| resources: |
| description: Resources workflow resources that are linked to this |
| workflow definition. For example, a collection of OpenAPI specification |
| files. |
| properties: |
| configMaps: |
| items: |
| description: ConfigMapWorkflowResource ConfigMap local reference |
| holding one or more workflow resources, such as OpenAPI files |
| that will be mounted in the workflow application. |
| properties: |
| configMap: |
| description: ConfigMap the given configMap name in the same |
| workflow context to find the resource |
| properties: |
| name: |
| description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
| TODO: Add other useful fields. apiVersion, kind, uid?' |
| type: string |
| type: object |
| x-kubernetes-map-type: atomic |
| workflowPath: |
| description: WorkflowPath path relative to the workflow |
| application root file system within the pod (/<application |
| path>/src/main/resources). Starting trailing slashes will |
| be removed. |
| type: string |
| required: |
| - configMap |
| type: object |
| type: array |
| type: object |
| required: |
| - flow |
| type: object |
| status: |
| description: SonataFlowStatus defines the observed state of SonataFlow |
| properties: |
| address: |
| description: Address is used as a part of Addressable interface (status.address.url) |
| for knative |
| properties: |
| CACerts: |
| description: CACerts is the Certification Authority (CA) certificates |
| in PEM format according to https://www.rfc-editor.org/rfc/rfc7468. |
| type: string |
| name: |
| description: Name is the name of the address. |
| type: string |
| url: |
| type: string |
| type: object |
| conditions: |
| description: The latest available observations of a resource's current |
| state. |
| items: |
| description: Condition describes the common structure for conditions |
| in our types |
| properties: |
| lastUpdateTime: |
| description: The last time this condition was updated. |
| format: date-time |
| 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 |
| status: |
| description: Status of the condition, one of True, False, Unknown. |
| type: string |
| type: |
| description: Type condition for the given object |
| type: string |
| required: |
| - status |
| - type |
| type: object |
| type: array |
| endpoint: |
| description: Endpoint is an externally accessible URL of the workflow |
| type: string |
| lastTimeRecoverAttempt: |
| format: date-time |
| type: string |
| observedGeneration: |
| description: The generation observed by the deployment controller. |
| format: int64 |
| type: integer |
| recoverFailureAttempts: |
| description: keeps track of how many failure recovers a given workflow |
| had so far |
| type: integer |
| type: object |
| type: object |
| served: true |
| storage: true |
| subresources: |
| status: {} |
| --- |
| apiVersion: v1 |
| kind: ServiceAccount |
| metadata: |
| name: sonataflow-operator-controller-manager |
| namespace: sonataflow-operator-system |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: Role |
| metadata: |
| name: sonataflow-operator-leader-election-role |
| namespace: sonataflow-operator-system |
| rules: |
| - apiGroups: |
| - "" |
| resources: |
| - configmaps |
| verbs: |
| - get |
| - list |
| - watch |
| - create |
| - update |
| - patch |
| - delete |
| - apiGroups: |
| - coordination.k8s.io |
| resources: |
| - leases |
| verbs: |
| - get |
| - list |
| - watch |
| - create |
| - update |
| - patch |
| - delete |
| - apiGroups: |
| - "" |
| resources: |
| - events |
| verbs: |
| - create |
| - patch |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRole |
| metadata: |
| name: sonataflow-operator-builder-manager-role |
| rules: |
| - apiGroups: |
| - "" |
| resources: |
| - configmaps |
| - pods |
| - pods/exec |
| - services |
| - services/finalizers |
| - namespaces |
| - serviceaccounts |
| - persistentvolumeclaims |
| - secrets |
| - events |
| - deployments |
| - nodes |
| verbs: |
| - create |
| - delete |
| - deletecollection |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - apps |
| resources: |
| - configmaps |
| - pods |
| - pods/exec |
| - services |
| - services/finalizers |
| - namespaces |
| - serviceaccounts |
| - persistentvolumeclaims |
| - secrets |
| - events |
| - deployments |
| - nodes |
| verbs: |
| - create |
| - delete |
| - deletecollection |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - rbac.authorization.k8s.io |
| resources: |
| - roles |
| - rolebindings |
| verbs: |
| - create |
| - delete |
| - deletecollection |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRole |
| metadata: |
| name: sonataflow-operator-leases |
| rules: |
| - apiGroups: |
| - coordination.k8s.io |
| resources: |
| - leases |
| verbs: |
| - create |
| - delete |
| - deletecollection |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRole |
| metadata: |
| creationTimestamp: null |
| name: sonataflow-operator-manager-role |
| rules: |
| - apiGroups: |
| - sonataflow.org |
| resources: |
| - sonataflowbuilds |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - sonataflow.org |
| resources: |
| - sonataflowbuilds/finalizers |
| verbs: |
| - update |
| - apiGroups: |
| - sonataflow.org |
| resources: |
| - sonataflowbuilds/status |
| verbs: |
| - get |
| - patch |
| - update |
| - apiGroups: |
| - sonataflow.org |
| resources: |
| - sonataflowplatforms |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - sonataflow.org |
| resources: |
| - sonataflowplatforms/finalizers |
| verbs: |
| - update |
| - apiGroups: |
| - sonataflow.org |
| resources: |
| - sonataflowplatforms/status |
| verbs: |
| - get |
| - patch |
| - update |
| - apiGroups: |
| - sonataflow.org |
| resources: |
| - sonataflows |
| verbs: |
| - create |
| - delete |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - sonataflow.org |
| resources: |
| - sonataflows/finalizers |
| verbs: |
| - update |
| - apiGroups: |
| - sonataflow.org |
| resources: |
| - sonataflows/status |
| verbs: |
| - get |
| - patch |
| - update |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRole |
| metadata: |
| name: sonataflow-operator-metrics-reader |
| rules: |
| - nonResourceURLs: |
| - /metrics |
| verbs: |
| - get |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRole |
| metadata: |
| name: sonataflow-operator-openshift-manager-role |
| rules: |
| - apiGroups: |
| - route.openshift.io |
| resources: |
| - route |
| - routes |
| verbs: |
| - create |
| - delete |
| - deletecollection |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - route.openshift.io |
| resources: |
| - route/finalizers |
| - routes/finalizers |
| verbs: |
| - get |
| - list |
| - create |
| - update |
| - delete |
| - deletecollection |
| - patch |
| - watch |
| - apiGroups: |
| - image.openshift.io |
| resources: |
| - imagestreams |
| - imagestreamtags |
| verbs: |
| - create |
| - delete |
| - deletecollection |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - image.openshift.io |
| resources: |
| - imagestreams/finalizers |
| - imagestreamtags/finalizers |
| verbs: |
| - get |
| - list |
| - create |
| - update |
| - delete |
| - deletecollection |
| - patch |
| - watch |
| - apiGroups: |
| - build.openshift.io |
| resources: |
| - buildconfigs |
| - builds |
| verbs: |
| - create |
| - delete |
| - deletecollection |
| - get |
| - list |
| - patch |
| - update |
| - watch |
| - apiGroups: |
| - build.openshift.io |
| resources: |
| - buildconfigs/finalizers |
| - builds/finalizers |
| verbs: |
| - get |
| - list |
| - create |
| - update |
| - delete |
| - deletecollection |
| - patch |
| - watch |
| - apiGroups: |
| - build.openshift.io |
| resources: |
| - buildconfigs/instantiatebinary |
| verbs: |
| - create |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRole |
| metadata: |
| name: sonataflow-operator-proxy-role |
| rules: |
| - apiGroups: |
| - authentication.k8s.io |
| resources: |
| - tokenreviews |
| verbs: |
| - create |
| - apiGroups: |
| - authorization.k8s.io |
| resources: |
| - subjectaccessreviews |
| verbs: |
| - create |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: RoleBinding |
| metadata: |
| name: sonataflow-operator-leader-election-rolebinding |
| namespace: sonataflow-operator-system |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: Role |
| name: sonataflow-operator-leader-election-role |
| subjects: |
| - kind: ServiceAccount |
| name: sonataflow-operator-controller-manager |
| namespace: sonataflow-operator-system |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRoleBinding |
| metadata: |
| name: sonataflow-operator-builder-manager-rolebinding |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: ClusterRole |
| name: sonataflow-operator-builder-manager-role |
| subjects: |
| - kind: ServiceAccount |
| name: sonataflow-operator-controller-manager |
| namespace: sonataflow-operator-system |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRoleBinding |
| metadata: |
| name: sonataflow-operator-leases-binding |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: ClusterRole |
| name: sonataflow-operator-leases |
| subjects: |
| - kind: ServiceAccount |
| name: sonataflow-operator-controller-manager |
| namespace: sonataflow-operator-system |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRoleBinding |
| metadata: |
| name: sonataflow-operator-manager-rolebinding |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: ClusterRole |
| name: sonataflow-operator-manager-role |
| subjects: |
| - kind: ServiceAccount |
| name: sonataflow-operator-controller-manager |
| namespace: sonataflow-operator-system |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRoleBinding |
| metadata: |
| name: sonataflow-operator-openshift-manager-rolebinding |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: ClusterRole |
| name: sonataflow-operator-openshift-manager-role |
| subjects: |
| - kind: ServiceAccount |
| name: sonataflow-operator-controller-manager |
| namespace: sonataflow-operator-system |
| --- |
| apiVersion: rbac.authorization.k8s.io/v1 |
| kind: ClusterRoleBinding |
| metadata: |
| name: sonataflow-operator-proxy-rolebinding |
| roleRef: |
| apiGroup: rbac.authorization.k8s.io |
| kind: ClusterRole |
| name: sonataflow-operator-proxy-role |
| subjects: |
| - kind: ServiceAccount |
| name: sonataflow-operator-controller-manager |
| namespace: sonataflow-operator-system |
| --- |
| apiVersion: v1 |
| data: |
| DEFAULT_BUILDER_RESOURCE_NAME: Dockerfile |
| DEFAULT_WORKFLOW_EXTENSION: .sw.json |
| Dockerfile: "FROM quay.io/kiegroup/kogito-swf-builder:1.44 AS builder\n\n# variables |
| that can be overridden by the builder\n# To add a Quarkus extension to your application\nARG |
| QUARKUS_EXTENSIONS\n# Args to pass to the Quarkus CLI add extension command\nARG |
| QUARKUS_ADD_EXTENSION_ARGS\n\n# Copy from build context to skeleton resources |
| project\nCOPY --chmod=644 * ./resources/\n\nRUN /home/kogito/launch/build-app.sh |
| ./resources\n \n#=============================\n# Runtime Run\n#=============================\nFROM |
| registry.access.redhat.com/ubi8/openjdk-11:latest\n\nENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'\n |
| \ \n# We make four distinct layers so if there are application changes the library |
| layers can be re-used\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/lib/ |
| /deployments/lib/\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/*.jar |
| /deployments/\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/app/ |
| /deployments/app/\nCOPY --from=builder --chown=185 /home/kogito/serverless-workflow-project/target/quarkus-app/quarkus/ |
| /deployments/quarkus/\n\nEXPOSE 8080\nUSER 185\nENV AB_JOLOKIA_OFF=\"\"\nENV JAVA_OPTS=\"-Dquarkus.http.host=0.0.0.0 |
| -Djava.util.logging.manager=org.jboss.logmanager.LogManager\"\nENV JAVA_APP_JAR=\"/deployments/quarkus-run.jar\"\n" |
| kind: ConfigMap |
| metadata: |
| name: sonataflow-operator-builder-config |
| namespace: sonataflow-operator-system |
| --- |
| apiVersion: v1 |
| data: |
| controller_manager_config.yaml: | |
| apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 |
| kind: ControllerManagerConfig |
| health: |
| healthProbeBindAddress: :8081 |
| metrics: |
| bindAddress: 127.0.0.1:8080 |
| webhook: |
| port: 9443 |
| leaderElection: |
| leaderElect: true |
| resourceName: 1be5e57d.kiegroup.org |
| kind: ConfigMap |
| metadata: |
| name: sonataflow-operator-manager-config |
| namespace: sonataflow-operator-system |
| --- |
| apiVersion: v1 |
| kind: Service |
| metadata: |
| labels: |
| control-plane: controller-manager |
| name: sonataflow-operator-controller-manager-metrics-service |
| namespace: sonataflow-operator-system |
| spec: |
| ports: |
| - name: https |
| port: 8443 |
| protocol: TCP |
| targetPort: https |
| selector: |
| control-plane: controller-manager |
| --- |
| apiVersion: apps/v1 |
| kind: Deployment |
| metadata: |
| labels: |
| control-plane: controller-manager |
| name: sonataflow-operator-controller-manager |
| namespace: sonataflow-operator-system |
| spec: |
| replicas: 1 |
| selector: |
| matchLabels: |
| control-plane: controller-manager |
| template: |
| metadata: |
| annotations: |
| kubectl.kubernetes.io/default-container: manager |
| labels: |
| control-plane: controller-manager |
| spec: |
| containers: |
| - args: |
| - --secure-listen-address=0.0.0.0:8443 |
| - --upstream=http://127.0.0.1:8080/ |
| - --logtostderr=true |
| - --v=0 |
| image: gcr.io/kubebuilder/kube-rbac-proxy:v0.13.0 |
| name: kube-rbac-proxy |
| ports: |
| - containerPort: 8443 |
| name: https |
| protocol: TCP |
| resources: |
| limits: |
| cpu: 500m |
| memory: 128Mi |
| requests: |
| cpu: 5m |
| memory: 64Mi |
| securityContext: |
| allowPrivilegeEscalation: false |
| capabilities: |
| drop: |
| - ALL |
| seccompProfile: |
| type: RuntimeDefault |
| - args: |
| - --health-probe-bind-address=:8081 |
| - --metrics-bind-address=127.0.0.1:8080 |
| - --leader-elect |
| - --v=0 |
| command: |
| - /usr/local/bin/manager |
| env: |
| - name: POD_NAMESPACE |
| valueFrom: |
| fieldRef: |
| fieldPath: metadata.namespace |
| image: quay.io/kiegroup/kogito-serverless-operator:1.44 |
| livenessProbe: |
| httpGet: |
| path: /healthz |
| port: 8081 |
| initialDelaySeconds: 15 |
| periodSeconds: 20 |
| name: manager |
| readinessProbe: |
| httpGet: |
| path: /readyz |
| port: 8081 |
| initialDelaySeconds: 5 |
| periodSeconds: 10 |
| resources: |
| limits: |
| cpu: 500m |
| memory: 128Mi |
| requests: |
| cpu: 10m |
| memory: 64Mi |
| securityContext: |
| allowPrivilegeEscalation: false |
| capabilities: |
| drop: |
| - ALL |
| securityContext: |
| runAsNonRoot: true |
| seccompProfile: |
| type: RuntimeDefault |
| serviceAccountName: sonataflow-operator-controller-manager |
| terminationGracePeriodSeconds: 10 |