orkes-conductor-community
orkes-conductor-community copied to clipboard
Orkes Conductor is a microservices orchestration engine.
Orkes Conductor
Orkes Conductor is a fully compatible version of Netflix Conductor with Orkes certified stack.
What is the community edition - OR how is it different from Netflix Conductor?
At Orkes we continue to maintain the Netflix Conductor, and while running Conductor at scale across multiple clouds (including on-prem) we have put together a stack that we leverage for our own cloud offering that is easy to maintain and operate.
As a way to contribute back to community, we are open sourcing the core stack we run our cloud offering to the community that makes it easy to run Netflix Conductor. This is a "certified" build of Netflix Conductor that is officially supported by Orkes.
______ .______ __ ___ _______ _______.
/ __ \ | _ \ | |/ / | ____| / |
| | | | | |_) | | ' / | |__ | (----`
| | | | | / | < | __| \ \
| `--' | | |\ \----.| . \ | |____.----) |
\______/ | _| `._____||__|\__\ |_______|_______/
______ ______ .__ __. _______ __ __ ______ .___________. ______ .______
/ | / __ \ | \ | | | \ | | | | / || | / __ \ | _ \
| ,----'| | | | | \| | | .--. || | | | | ,----'`---| |----`| | | | | |_) |
| | | | | | | . ` | | | | || | | | | | | | | | | | | /
| `----.| `--' | | |\ | | '--' || `--' | | `----. | | | `--' | | |\ \----.
\______| \______/ |__| \__| |_______/ \______/ \______| |__| \______/ | _| `._____|
Stack
- Redis is the primary store for running workflows.
- Postgres for storing completed workflows and indexing enabling full text search.
- Orkes-Queues - Redis-based queues that improve upon dyno-queues and providers higher performance and are built from the ground up to support Redis standalone and cluster mode
Dependency Versions
Dependency | Supported Version |
---|---|
Redis (Standalone, Cluster or Sentinel) | 6.2+ |
Postgres | 14+ |
Getting Started
Docker
Docker is the easiest way to run Conductor. Each release is published as orkesio/orkes-conductor-community
docker images.
Fully self-contained standalone server with all the dependencies
Container images are useful for local development and testing.
Note: Self-contained docker image shouldn't be used in the production environment.
Simple self-contained script to launch the docker image
curl https://raw.githubusercontent.com/orkes-io/orkes-conductor-community/main/scripts/run_local.sh | sh
Using docker run
manually (Provides more control)
# Create volumes for persistent stores
# Used to create a persistent volume that will preserve the
docker volume create postgres
docker volume create redis
docker run --init -p 8080:8080 -p 1234:5000 --mount source=redis,target=/redis \
--mount source=postgres,target=/pgdata orkesio/orkes-conductor-community-standalone:latest
Navigate to http://localhost:1234 once the container starts to launch UI.
Server + UI Docker
docker pull orkesio/orkes-conductor-community:latest
Note: To use a specific version of Conductor, replace
latest
with the release version. e.g.
docker pull orkesio/orkes-conductor-community:latest
Published Artifacts
The docker files are published at the following:
Server build suitable for the production deployment
https://hub.docker.com/r/orkesio/orkes-conductor-community
Local build useful for local build and development
https://hub.docker.com/r/orkesio/orkes-conductor-community-standalone
Production Configuration Recommendations
The container and server jar published come with sensible defaults that work for most use cases.
Contributions
We welcome community contributions and PRs to this repository.
Get Support
Use GitHub issue tracking for filing issues and Discussion Forum for any other questions, ideas or support requests. Orkes development team creates and maintains the Orkes-Conductor releases.
License
Copyright 2023 Orkes, Inc
Licensed under Orkes Community License. You may obtain a copy of the License at:
https://github.com/orkes-io/licenses/blob/main/community/LICENSE.txt
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.