/conductor

Conductor is a microservices orchestration engine - https://netflix.github.io/conductor/

Primary LanguageJavaApache License 2.0Apache-2.0

Conductor

Conductor

Conductor is an orchestration engine that runs in the cloud.

Build Status

Documentation & Getting Started

http://netflix.github.io/conductor/

Getting Started guide.

Get Conductor

Binaries are available from Maven Central and jcenter.

Group Artifact Latest Stable Version
com.netflix.conductor conductor-* 1.5.+

Below are the various artifacts published:

Artifact Description
conductor-common Common models used by various conductor modules
conductor-core Core Conductor module
conductor-redis-persistence Persistence using Redis/Dynomite and Elasticsearch
conductor-jersey Jersey JAX-RS resources for the core services
conductor-ui node.js based UI for Conductor
conductor-contribs Optional contrib package that holds extended workflow tasks and support for SQS
conductor-client Java client for Conductor that includes helpers for running a worker tasks
conductor-server Self contained Jetty server
conductor-test-harness Used for building test harness and an in-memory kitchensink demo

Building

To build the server, use the following dependencies in your classpath:

  • conductor-common
  • conductor-core
  • conductor-jersey
  • conductor-redis-persistence (unless using your own persistence module)
  • conductor-contribs (optional)

Deploying Jersey JAX-RS resources

Add the following packages to classpath scan:

com.netflix.conductor.server.resources
com.netflix.workflow.contribs.queue

Conductor relies on the guice (4.0+) for the dependency injection. Persistence has a guice module to wire up appropriate interfaces:

com.netflix.conductor.dao.RedisESWorkflowModule

Database Requirements

Other Requirements

  • JDK 1.8+
  • Servlet Container

Get Support

Conductor is maintained by Content Platform Engineering team at Netflix. Use github issue tracking for any support request.

LICENSE

Copyright (c) 2016 Netflix, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

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.