logic-operator

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2026 License: Apache-2.0

README

Logic Operator

E2E Tests PR Checks

The Logic Operator is a Kubernetes operator for deploying and managing serverless workflow applications. It defines a set of Kubernetes Custom Resources to help users deploy workflow projects on Kubernetes and OpenShift.

This operator is a continuation of the Apache KIE SonataFlow Operator, maintained by Kubesmarts.

Documentation

For detailed documentation, please visit the official documentation.

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/kubesmarts/logic-operator/api

Then you can create any type programmatically, for example:

import (
    "github.com/kubesmarts/logic-operator/api/v1alpha08"
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

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.

Build Requirements

To build and develop the Logic Operator, you need:

  • Go 1.25.0 or later
  • Make
  • Python 3 with ruamel.yaml package
  • Node.js (for replace-in-file utility used in version bumping)
  • Docker or Podman (for container builds)
  • Optional: kubectl, kind (for local testing)
Configuration

The operator uses a .env file for build configuration. Copy the example file:

cp .env.example .env

Edit .env to customize version numbers, registry locations, and image references. All values can be overridden by environment variables.

Development and Contributions

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL