blob: 37ca5da12cb244267ab7e724bbb7d70508da5ac3 [file] [log] [blame]
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
annotations:
alm-examples: |-
[
{
"apiVersion": "sonataflow.org/v1alpha08",
"kind": "SonataFlow",
"metadata": {
"annotations": {
"sonataflow.org/description": "Greeting example on k8s!",
"sonataflow.org/version": "0.0.1"
},
"name": "greeting"
},
"spec": {
"flow": {
"functions": [
{
"name": "greetFunction",
"operation": "sysout",
"type": "custom"
}
],
"start": "ChooseOnLanguage",
"states": [
{
"dataConditions": [
{
"condition": "${ .language == \"English\" }",
"transition": "GreetInEnglish"
},
{
"condition": "${ .language == \"Spanish\" }",
"transition": "GreetInSpanish"
}
],
"defaultCondition": "GreetInEnglish",
"name": "ChooseOnLanguage",
"type": "switch"
},
{
"data": {
"greeting": "Hello from JSON Workflow, "
},
"name": "GreetInEnglish",
"transition": "GreetPerson",
"type": "inject"
},
{
"data": {
"greeting": "Saludos desde JSON Workflow, "
},
"name": "GreetInSpanish",
"transition": "GreetPerson",
"type": "inject"
},
{
"actions": [
{
"functionRef": {
"arguments": {
"message": ".greeting+.name"
},
"refName": "greetFunction"
},
"name": "greetAction"
}
],
"end": true,
"name": "GreetPerson",
"type": "operation"
}
]
}
}
},
{
"apiVersion": "sonataflow.org/v1alpha08",
"kind": "SonataFlowBuild",
"metadata": {
"name": "greeting"
},
"spec": {
"timeout": "360s"
}
},
{
"apiVersion": "sonataflow.org/v1alpha08",
"kind": "SonataFlowClusterPlatform",
"metadata": {
"name": "sonataflow-clusterplatform"
},
"spec": {
"platformRef": {
"name": "sonataflow-platform",
"namespace": "sonataflow-operator-system"
}
}
},
{
"apiVersion": "sonataflow.org/v1alpha08",
"kind": "SonataFlowPlatform",
"metadata": {
"name": "sonataflow-platform"
},
"spec": {
"build": {
"config": {
"registry": {
"address": "quay.io/kiegroup",
"secret": "regcred"
}
}
}
}
}
]
capabilities: Basic Install
categories: Application Runtime
containerImage: docker.io/apache/incubator-kie-sonataflow-operator:main
description: SonataFlow Kubernetes Operator for deploying workflow applications
based on the CNCF Serverless Workflow specification
operators.operatorframework.io/builder: operator-sdk-v1.25.0
operators.operatorframework.io/internal-objects: '["sonataflowbuilds.sonataflow.org"]'
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
repository: https://github.com/apache/incubator-kie-kogito-serverless-operator
support: Red Hat
name: sonataflow-operator.v999.0.0-snapshot
namespace: placeholder
spec:
apiservicedefinitions: {}
customresourcedefinitions:
owned:
- description: SonataFlowBuild is an internal custom resource to control workflow
build instances in the target platform
displayName: SonataFlowBuild
kind: SonataFlowBuild
name: sonataflowbuilds.sonataflow.org
resources:
- kind: BuildConfig
name: An Openshift Build Config
version: build.openshift.io/v1
specDescriptors:
- 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.'
displayName: Arguments
path: arguments
- description: Optional build arguments that can be set to the internal build
(e.g. Docker ARG)
displayName: BuildArgs
path: buildArgs
- description: Optional environment variables to add to the internal build
displayName: Envs
path: envs
- description: Resources optional compute resource requirements for the builder
displayName: Resources
path: resources
- 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.
displayName: Timeout
path: timeout
statusDescriptors:
- description: BuildPhase Current phase of the build
displayName: BuildPhase
path: buildPhase
- description: Error Last error found during build
displayName: Error
path: error
- description: ImageTag The final image tag produced by this build instance
displayName: ImageTag
path: imageTag
- description: InnerBuild is a reference to an internal build object, which
can be anything known only to internal builders.
displayName: InnerBuild
path: innerBuild
version: v1alpha08
- description: SonataFlowClusterPlatform is the Schema for the sonataflowclusterplatforms
API
displayName: SonataFlowClusterPlatform
kind: SonataFlowClusterPlatform
name: sonataflowclusterplatforms.sonataflow.org
resources:
- kind: SonataFlowPlatform
name: A SonataFlow Platform
version: sonataflow.org/v1alpha08
specDescriptors:
- description: Capabilities defines which platform capabilities should be applied
cluster-wide. If nil, defaults to `capabilities.workflows["services"]`
displayName: Capabilities
path: capabilities
- description: PlatformRef defines which existing SonataFlowPlatform's supporting
services should be used cluster-wide.
displayName: PlatformRef
path: platformRef
- description: Name of the SonataFlowPlatform
displayName: Platform_Name
path: platformRef.name
- description: Namespace of the SonataFlowPlatform
displayName: Platform_NS
path: platformRef.namespace
statusDescriptors:
- description: Version the operator version controlling this ClusterPlatform
displayName: version
path: version
version: v1alpha08
- description: SonataFlowPlatform is the descriptor for the workflow platform
infrastructure.
displayName: SonataFlowPlatform
kind: SonataFlowPlatform
name: sonataflowplatforms.sonataflow.org
resources:
- kind: Namespace
name: The Namespace controlled by the platform
version: v1
specDescriptors:
- description: Build Attributes for building workflows in the target platform
displayName: Build
path: build
- 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.'
displayName: Arguments
path: build.template.arguments
- description: Optional build arguments that can be set to the internal build
(e.g. Docker ARG)
displayName: BuildArgs
path: build.template.buildArgs
- description: Optional environment variables to add to the internal build
displayName: Envs
path: build.template.envs
- description: Resources optional compute resource requirements for the builder
displayName: Resources
path: build.template.resources
- 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.
displayName: Timeout
path: build.template.timeout
- description: DevMode Attributes for running workflows in devmode (immutable,
no build required)
displayName: DevMode
path: devMode
- description: 'Services attributes for deploying supporting applications like
Data Index & Job Service. Only workflows without the `sonataflow.org/profile:
dev` annotation will be configured to use these service(s). Setting this
will override the use of any cluster-scoped services that might be defined
via `SonataFlowClusterPlatform`.'
displayName: Services
path: services
- description: PodTemplate describes the deployment details of this platform
service instance.
displayName: podTemplate
path: services.dataIndex.podTemplate
- description: PodTemplate describes the deployment details of this platform
service instance.
displayName: podTemplate
path: services.jobService.podTemplate
statusDescriptors:
- description: Cluster what kind of cluster you're running (ie, plain Kubernetes
or OpenShift)
displayName: cluster
path: cluster
- description: ClusterPlatformRef information related to the (optional) active
SonataFlowClusterPlatform
displayName: clusterPlatformRef
path: clusterPlatformRef
- description: Info generic information related to the build
displayName: info
path: info
- description: Version the operator version controlling this Platform
displayName: version
path: version
version: v1alpha08
- description: SonataFlow is the descriptor representation for a workflow application
based on the CNCF Serverless Workflow specification.
displayName: SonataFlow
kind: SonataFlow
name: sonataflows.sonataflow.org
resources:
- kind: Deployment
name: A Deployment for the Flow
version: apps/v1
- kind: Service
name: A Knative Serving Service for the Flow
version: serving.knative.dev/v1
- kind: Service
name: A Service for the Flow
version: v1
- kind: SonataFlowBuild
name: A SonataFlow Build
version: sonataflow.org/v1alpha08
- kind: Route
name: An OpenShift Route for the Flow
version: route.openshift.io/v1
- kind: ConfigMap
name: The ConfigMaps with Flow definition and additional configuration files
version: v1
specDescriptors:
- description: Flow the workflow definition.
displayName: flow
path: flow
- description: PodTemplate describes the deployment details of this SonataFlow
instance.
displayName: podTemplate
path: podTemplate
- description: Resources workflow resources that are linked to this workflow
definition. For example, a collection of OpenAPI specification files.
displayName: resources
path: resources
- description: Sink describes the sinkBinding details of this SonataFlow instance.
displayName: sink
path: sink
statusDescriptors:
- description: Address is used as a part of Addressable interface (status.address.url)
for knative
displayName: address
path: address
- description: Endpoint is an externally accessible URL of the workflow
displayName: endpoint
path: endpoint
- displayName: lastTimeRecoverAttempt
path: lastTimeRecoverAttempt
- description: Platform displays which platform is being used by this workflow
displayName: platform
path: platform
- description: keeps track of how many failure recovers a given workflow had
so far
displayName: recoverFailureAttempts
path: recoverFailureAttempts
- description: Services displays which platform services are being used by this
workflow
displayName: services
path: services
version: v1alpha08
description: |-
SonataFlow Kubernetes Operator for deploying workflow applications
based on the [CNCF Serverless Workflow specification](https://serverlessworkflow.io/):
* Deploy workflow applications using the [dev profile](https://sonataflow.org/serverlessworkflow/latest/cloud/operator/developing-workflows.html), suited for the your development cycle
* Build workflow applications based on the platform you're currently working on.
displayName: SonataFlow Operator
install:
spec:
clusterPermissions:
- 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
- apiGroups:
- eventing.knative.dev
resources:
- triggers
- triggers/status
- triggers/finalizers
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- sources.knative.dev
resources:
- sinkbindings
- sinkbindings/status
- sinkbindings/finalizers
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- serving.knative.dev
resources:
- service
- services
- services/status
- services/finalizers
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- create
- delete
- deletecollection
- get
- list
- patch
- update
- watch
- 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:
- sonataflowclusterplatforms
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- sonataflow.org
resources:
- sonataflowclusterplatforms/finalizers
verbs:
- update
- apiGroups:
- sonataflow.org
resources:
- sonataflowclusterplatforms/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
- 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
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
- apiGroups:
- apps
resources:
- statefulset
- statefulsets
verbs:
- get
- list
- watch
- apiGroups:
- networking.k8s.io
resources:
- ingress
- ingresses
verbs:
- get
- list
- watch
- apiGroups:
- serving.knative.dev
resources:
- service
- services
verbs:
- get
- list
- watch
- apiGroups:
- eventing.knative.dev
resources:
- broker
- brokers
verbs:
- get
- list
- watch
- apiGroups:
- apps.openshift.io
resources:
- deploymentconfigs
verbs:
- get
- list
- watch
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- get
- list
- watch
serviceAccountName: sonataflow-operator-controller-manager
deployments:
- label:
control-plane: sonataflow-operator
name: sonataflow-operator-controller-manager
spec:
replicas: 1
selector:
matchLabels:
control-plane: sonataflow-operator
strategy: {}
template:
metadata:
annotations:
kubectl.kubernetes.io/default-container: manager
labels:
control-plane: sonataflow-operator
spec:
containers:
- 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: docker.io/apache/incubator-kie-sonataflow-operator:latest
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
volumeMounts:
- mountPath: /config/controllers_cfg.yaml
name: controllers-config
subPath: controllers_cfg.yaml
- 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
securityContext:
runAsNonRoot: true
serviceAccountName: sonataflow-operator-controller-manager
terminationGracePeriodSeconds: 10
volumes:
- configMap:
name: sonataflow-operator-controllers-config
name: controllers-config
permissions:
- 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
serviceAccountName: sonataflow-operator-controller-manager
strategy: deployment
installModes:
- supported: false
type: OwnNamespace
- supported: false
type: SingleNamespace
- supported: false
type: MultiNamespace
- supported: true
type: AllNamespaces
keywords:
- sonataflow
- cncf
- serverless
- serverlessworkflow
links:
- name: Product Page
url: https://sonataflow.org/serverlessworkflow/latest/index.html
maintainers:
- email: bsig-cloud@redhat.com
name: Red Hat
maturity: alpha
minKubeVersion: 1.23.0
provider:
name: Red Hat
version: 999.0.0-snapshot