Conductor
Conductor is an orchestration engine that runs in the cloud.
Documentation & Getting Started
http://netflix.github.io/conductor/
Getting Started guide.
Get Conductor
Binaries are available from Maven Central and jcenter.
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 |
conductor-es2-persistence | Indexing using Elasticsearch 2.X |
conductor-es5-persistence | Indexing using Elasticsearch 5.X |
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-es2-persistence or conductor-es5-persistence (unless using your own index 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.RedisWorkflowModule
Database Requirements
- The default persistence used is Dynomite
- For queues, we are relying on dyno-queues
- The indexing backend is Elasticsearch (2.+)
Other Requirements
- JDK 1.8+
- Servlet Container
Get Support
Conductor is maintained by Media Workflow Infrastructure team at Netflix. Use github issue tracking for any support request.
LICENSE
Copyright (c) 2018 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.