Kubernetes operator for SonataFlow

Clone this repo:
  1. c429953 Fix #560 - Check if the .spec.flow has changed before building (#564) by Ricardo Zanini · 5 months ago main
  2. 5dae96c [issue-562] Serverless workflow pod gets restarted repeatedly after Knative K_SINK injection (#565) by Jianrong Zhang · 6 months ago
  3. 6b32553 update sdk-go to vesion v2.4.2 (#570) by Roberto Oliveira · 6 months ago
  4. 316e81f kie-kogito-serverless-operator-568: Disable Workflows DI and JS availability health checks when Knative Eventing is configured (#569) by Walter Medvedeo · 6 months ago
  5. 5f52a11 kie-kogito-serverless-operator-566: Make the operator configure the binary and compress properties for the kogito events grouping in preview and gitops workflow deployments (#567) by Walter Medvedeo · 6 months ago

SonataFlow Operator

The SonataFlow Operator defines a set of Kubernetes Custom Resources to help users to deploy SonataFlow projects on Kubernetes and OpenShift.

Please visit our official documentation to know more.

Available modules for integrations

If you're a developer, and you are interested in integrating your project or application with the SonataFlow Operator ecosystem, this repository provides a few Go Modules described below.

SonataFlow Operator Types (api)

Every custom resource managed by the operator is exported in the module api. You can use it to programmatically create any custom type managed by the operator. To use it, simply run:

go get github.com/kiegroup/kogito-serverless-workflow/api

Then you can create any type programmatically, for example:

workflow := &v1alpha08.SonataFlow{
ObjectMeta: metav1.ObjectMeta{Name: w.name, Namespace: w.namespace},
Spec:       v1alpha08.SonataFlowSpec{Flow: *myWorkflowDef>}
}

You can use the Kubernetes client-go library to manipulate these objects in the cluster.

You might need to register our schemes:

    s := scheme.Scheme
utilruntime.Must(v1alpha08.AddToScheme(s))

Container Builder (container-builder)

Please see the module's README file.

Workflow Project Handler (workflowproj)

Please see the module's README file.

Development and Contributions

Contributing is easy, just take a look at our contributors'guide.