blob: 95bceb338a62795cde5a665bfe8a2c1fe57278e9 [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: quay.io/kiegroup/kogito-serverless-operator-nightly:latest
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: Sonata Flow Build
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: Sonata Flow Cluster Platform
kind: SonataFlowClusterPlatform
name: sonataflowclusterplatforms.sonataflow.org
resources:
- kind: SonataFlowPlatform
name: A SonataFlow Platform
version: sonataflow.org/v1alpha08
specDescriptors:
- 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: Sonata Flow Platform
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: Sonata Flow
kind: SonataFlow
name: sonataflows.sonataflow.org
resources:
- kind: Deployment
name: A Deployment for the Flow
version: apps/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
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: keeps track of how many failure recovers a given workflow had
so far
displayName: recoverFailureAttempts
path: recoverFailureAttempts
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:
- 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:
- --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-nightly: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
securityContext:
runAsNonRoot: true
serviceAccountName: sonataflow-operator-controller-manager
terminationGracePeriodSeconds: 10
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