Environment setup

This guide lists the different ways to set up your environment for SonataFlow development. If you are new, start with the minimal one.

Prerequisites

Minimal local environment setup

Recommended steps to set up your local development environment. By completing these steps you are able to start the development on your local machine using our guides.

Procedure
  1. Install Docker or Podman.

  2. Install minikube or kind.

  3. Install Kubernetes CLI.

  4. Install Knative using quickstart. This will also set up Knative Serving and Eventing for you and the cluster should be running.

  5. Install the SonataFlow Operator manually.

  6. Install Knative Workflow CLI.

  7. Install Visual Studio Code with our extension that simplifies development of workflows by providing visual aids and auto-complete features.

Starting the cluster for local development

If you have used Knative using quickstart guide, your selected cluster should be running and properly configured to work with our guides.

Please note, that if the Knative quickstart procedure is not used, you need to install Knative Serving and Eventing manually. See Additional options for local environment setup.

  • Minikube with Docker

  • Minikube with Podman

  • Kind

Configure and startup minikube with Docker
# Set a driver and container runtime
minikube config set driver docker
minikube config set container-runtime docker

# Start the cluster
# Set the memory to at least 4096, increase to 6144 or 8192 if possible
minikube start --cpus 4 --memory 4096 --addons registry --addons metrics-server --insecure-registry "10.0.0.0/24" --insecure-registry "localhost:5000"

# Set the active profile
minikube profile knative
Configure and startup minikube with Podman
# Set a driver and container runtime
minikube config set driver podman
minikube config set container-runtime podman

# Start the cluster
# Set the memory to at least 4096, increase to 6144 or 8192 if possible
minikube start --cpus 4 --memory 4096 --addons registry --addons metrics-server --insecure-registry "10.0.0.0/24" --insecure-registry "localhost:5000"

# Set the active profile
minikube profile knative
Start a kind cluster
kind create cluster

Advanced local environment setup

If you are interested in our Java and Quarkus development path, consider completing this procedure in addition to the Minimal local environment setup. By completing these steps you are able to start the development of applications on your local machine using our advanced developer guides.

Procedure
  1. Install OpenJDK 17+ and configure JAVA_HOME appropriately by adding it to the PATH.

  2. Install Apache Maven 3.9.3.

  3. Install Quarkus CLI corresponding to the currently supported version by SonataFlow. Currently, it is 3.8.4.

Additional options for local environment setup

Points listed in this section provide extra possibilities when working with our guides and are considered optional.

Found an issue?

If you find an issue or any misleading information, please feel free to report it here. We really appreciate it!