Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync branch from main #8

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
8981878
Fix JSONPath replace failed with line terminator (#3810)
Young-Zen Nov 3, 2023
be790a4
Bugfix/Data inconsistency caused by updateEventHandler (#3843)
wy-hua Nov 12, 2023
de2ca10
Fix WorkflowRepairService and AsyncSystemTaskExecutor race condition …
VerstraeteBert Nov 12, 2023
f9b7e5c
Update versions (#3792)
meggarr Nov 12, 2023
b3a1196
Fix: include monaco sources into bundle (#3796)
Young-Zen Nov 12, 2023
9669d46
Optimizing reading from datastore during WorkflowSweeper#sweep (#3816)
wildMythicWest Nov 13, 2023
03cf0c1
Update and rename WHOSUSING.md to USERS.md (#3850)
sandipanpanda Nov 21, 2023
3afe0b5
Update WorkflowExecutor.java (#3852)
youngledo Nov 24, 2023
07fd73a
Fix typo in build-a-golang-task-worker.md (#3860)
gearcog Nov 24, 2023
fc3657a
Adding Redis db index to not have default db index of 0 always and us…
Anupchat Nov 25, 2023
aaa46b5
Fix taskToDomain field not being echoed (#3806)
Young-Zen Nov 25, 2023
921981f
Add support for building on windows (#3831)
Robban1980 Nov 25, 2023
43316a5
ISICO-15108: javascript validation done on updating w/d (#3805)
sarmuru2 Nov 25, 2023
c32d730
Update links in README to match conductor-docs changes (#3811)
mattheimer Nov 25, 2023
52dbb92
Upgrading OSS libraries with known open CVEs (#3778)
scottcarter87 Nov 25, 2023
fb70f49
fix formatting
v1r3n Nov 26, 2023
4762cc2
Fix typo in WorkflowTaskTypeConstraint
Young-Zen Nov 27, 2023
0f187bf
Feat: Enable hosting app in any route, with easy config (#3722)
haricane8133 Nov 29, 2023
41d4334
[Hot-fix] fix: remove redundant slash that cause proxy fail (#3873)
nhandt2021 Nov 30, 2023
ca422db
Make it more in line with the REST pattern. (#3879)
youngledo Dec 4, 2023
17c6db1
update readme with the links
v1r3n Dec 8, 2023
b412fe3
Update README.md
v1r3n Dec 8, 2023
18cb5b2
docker and docs
v1r3n Dec 8, 2023
3a67c25
Update README.md
v1r3n Dec 8, 2023
4336cfb
Merge pull request #2 from conductor-oss/oss_update
v1r3n Dec 8, 2023
d7373de
update code of conduct
v1r3n Dec 8, 2023
cf0cfe4
update readme
v1r3n Dec 8, 2023
8af6706
Update README.md
v1r3n Dec 8, 2023
06e6115
Update README.md
v1r3n Dec 12, 2023
d888738
Update README.md
v1r3n Dec 12, 2023
673d717
Update README.md
v1r3n Dec 12, 2023
83d6d8c
Update README.md
v1r3n Dec 12, 2023
9b2b5a6
Update README.md
v1r3n Dec 13, 2023
adbfac6
Update README.md
v1r3n Dec 13, 2023
aa31ca1
Update README.md
v1r3n Dec 13, 2023
11ae434
Update README.md
v1r3n Dec 13, 2023
f1136f7
Update README.md
v1r3n Dec 13, 2023
1c3442e
Update README.md
v1r3n Dec 13, 2023
e8dec7a
Update README.md
v1r3n Dec 13, 2023
c68ca4e
Update README.md
v1r3n Dec 13, 2023
3c15237
Update README.md
v1r3n Dec 13, 2023
4fe1aae
bugfix: wrong unit used in SetVariable error message on payloadSize >…
math29 Dec 14, 2023
2bd645c
Resolve open CVEs in Conductor code.
Dec 14, 2023
c1bf109
Merge pull request #4 from math29/bugfix/setVariable-error-message
v1r3n Dec 16, 2023
a207798
Merge pull request #6 from Young-Zen/fix-typo-in-WorkflowTaskTypeCons…
v1r3n Dec 17, 2023
0ed1fa0
Merge pull request #5 from scottcarter87/conductor-vulnerabilities-fix
v1r3n Dec 17, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
gradlew eol=lf
*.gradle eol=lf
*.java eol=lf
*.groovy eol=lf
spring.factories eol=lf
*.sh eol=lf

docs/* linguist-documentation
server/src/main/resources/swagger-ui/* linguist-vendored

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ buildscan.log
# JS & UI Related
node_modules
/ui/build
/ui/public/monaco-editor

# publishing secrets
secrets/signing-key
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[Code of Conduct](docs/docs/resources/code-of-conduct.md)
[Code of Conduct](https://orkes.io/orkes-conductor-community-code-of-conduct)
125 changes: 56 additions & 69 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,75 +1,83 @@
![Conductor](docs/docs/img/logo.png)

# Conductor
[![Github release](https://img.shields.io/github/v/release/Netflix/conductor.svg)](https://GitHub.com/Netflix/conductor/releases)
[![CI](https://github.com/Netflix/conductor/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/Netflix/conductor/actions/workflows/ci.yml)
[![License](https://img.shields.io/github/license/Netflix/conductor.svg)](http://www.apache.org/licenses/LICENSE-2.0)
[![NetflixOSS Lifecycle](https://img.shields.io/osslifecycle/Netflix/conductor.svg)]()

[![GitHub stars](https://img.shields.io/github/stars/Netflix/conductor.svg?style=social&label=Star&maxAge=2592000)](https://GitHub.com/Netflix/conductor/stargazers/)
[![GitHub forks](https://img.shields.io/github/forks/Netflix/conductor.svg?style=social&label=Fork&maxAge=2592000)](https://GitHub.com/Netflix/conductor/network/)

Conductor is a platform originally created at Netflix to orchestrate microservices and events.
Conductor OSS is maintained by the team of developers at [Orkes](https://orkes.io/) along with the members of the open source community.

Conductor is a platform created by Netflix to orchestrate workflows that span across microservices.
Conductor is maintained by Media Workflow Infrastructure team at Netflix.
## Conductor OSS
This is the new home for the Conductor open source going forward (previously hosted at Netflix/Conductor).
> [!IMPORTANT]
> Going forward, all the bug fixes, feature requests and security patches will be applied and released from this repository.

For more information, see [Main Documentation Site](https://conductor.netflix.com/)

The last published version of Netflix Condutor will be **3.15.0** which we will continue to support.

If you would like to participate in the roadmap and development, [please reach out](https://forms.gle/P2i1xHrxPQLrjzTB7).

## ⭐ This repository
Show support for the Conductor OSS. Please help spread the awareness by starring this repo.

[![GitHub stars](https://img.shields.io/github/stars/conductor-oss/conductor.svg?style=social&label=Star&maxAge=)](https://GitHub.com/conductor-oss/conductor/)

## Update your local forks/clones
Please update your forks to point to this repo. This will ensure your commits and PRs can be send against this repository
```shell
git remote set-url origin https://github.com/conductor-oss/conductor
```
> [!IMPORTANT]
> **Follow the steps below if you have an active PR againt the Netflix/Conductor repository**
> 1. Fork **this** repository
> 2. Update your local repository to change the remote to this repository
> 3. Send a PR against the `main` branch

## Releases
The latest version is [![Github release](https://img.shields.io/github/v/release/Netflix/conductor.svg)](https://GitHub.com/Netflix/conductor/releases)

[2.31.8](https://github.com/Netflix/conductor/releases/tag/v2.31.8) is the **final** release of `2.31` branch. As of Feb 2022, `1.x` & `2.x` versions are no longer supported.
The next scheduled release is in Dec 2023.

## Resources
#### [Slack Community](https://join.slack.com/t/orkes-conductor/shared_invite/zt-xyxqyseb-YZ3hwwAgHJH97bsrYRnSZg)
We have an active [community](https://join.slack.com/t/orkes-conductor/shared_invite/zt-xyxqyseb-YZ3hwwAgHJH97bsrYRnSZg) of Conductor users and contributors on the channel.
#### [Documentation Site](https://conductor.netflix.com/)
[Documentation](https://conductor.netflix.com/) and tutorial on how to use Conductor
#### [Documentation Site](https://orkes.io/content)
[Documentation](https://orkes.io/content) and tutorial on how to use Conductor

[Discussion Forum](https://github.com/conductor-oss/conductor/discussions): Please use the forum for questions and discussing ideas and join the community.

## Workflow Creation in Code
### Conductor SDKs
Conductor supports creating workflows using JSON and Code.
SDK support for creating workflows using code is available in multiple languages and can be found at https://github.com/conductor-sdk

## Community Contributions
The modules contributed by the community are housed at [conductor-community](https://github.com/Netflix/conductor-community). Compatible versions of the community modules are released simultaneously with releases of the main modules.

[Discussion Forum](https://github.com/Netflix/conductor/discussions): Please use the forum for questions and discussing ideas and join the community.

[List of Conductor community projects](/docs/docs/resources/related.md): Backup tool, Cron like workflow starter, Docker containers and more.

## Getting Started - Building & Running Conductor
### Using Docker:
The easiest way to get started is with Docker containers. Please follow the instructions [here](https://conductor.netflix.com/gettingstarted/docker.html).

### From Source:
Conductor Server is a [Spring Boot](https://spring.io/projects/spring-boot) project and follows all applicable conventions. See instructions [here](http://conductor.netflix.com/gettingstarted/source.html).

## Published Artifacts
Binaries are available from [Netflix OSS Maven](https://artifacts.netflix.net/netflixoss/com/netflix/conductor/) repository, or the [Maven Central Repository](https://search.maven.org/search?q=g:com.netflix.conductor).

| Artifact | Description |
|---------------------------------|-------------------------------------------------------------------------------------------------|
| conductor-common | Common models used by various conductor modules |
| conductor-core | Core Conductor module |
| conductor-redis-persistence | Persistence and queue using Redis/Dynomite |
| conductor-cassandra-persistence | Persistence using Cassandra |
| conductor-es6-persistence | Indexing using Elasticsearch 6.X |
| conductor-rest | Spring MVC resources for the core services |
| conductor-ui | node.js based UI for Conductor |
| conductor-client | Java client for Conductor that includes helpers for running worker tasks |
| conductor-client-spring | Client starter kit for Spring |
| conductor-java-sdk | SDK for writing workflows in code |
| conductor-server | Spring Boot Web Application |
| conductor-redis-lock | Workflow execution lock implementation using Redis |
| conductor-awss3-storage | External payload storage implementation using AWS S3 |
| conductor-awssqs-event-queue | Event queue implementation using AWS SQS |
| conductor-http-task | Workflow system task implementation to send make requests |
| conductor-json-jq-task | Workflow system task implementation to evaluate JSON using [jq](https://stedolan.github.io/jq/) |
| conductor-grpc | Protobuf models used by the server and client |
| conductor-grpc-client | gRPC client to interact with the gRPC server |
| conductor-grpc-server | gRPC server Application |
| conductor-test-harness | Integration and regression tests |
If you wish to build your own distribution, you can run ```./gradlew build``` from this project that products the runtime artifacts.
The runnable server is in server/ module.

### Using Docker (Recommended)
Follow the steps below to launch the docker container:

```shell

# 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 conductoross/conductor-standalone:3.15.0
```

Navigate to http://localhost:1234 once the container starts to launch UI.

## Docker Containers for production usage
```shell
docker pull conductoross/conductor:3.15.0
```


## Database Requirements

Expand All @@ -78,29 +86,8 @@ Binaries are available from [Netflix OSS Maven](https://artifacts.netflix.net/ne

## Other Requirements
* JDK 17+
* UI requires Node 14 to build. Earlier Node versions may work but is untested.
* UI requires Node 14 to build. Earlier Node versions may work but are untested.

## Get Support
There are several ways to get in touch with us:
* [Slack Community](https://join.slack.com/t/orkes-conductor/shared_invite/zt-xyxqyseb-YZ3hwwAgHJH97bsrYRnSZg)
* [GitHub Discussion Forum](https://github.com/Netflix/conductor/discussions)

## Contributions
Whether it is a small documentation correction, bug fix or a new feature, contributions are highly appreciated. We just ask you to follow standard OSS guidelines. The [Discussion Forum](https://github.com/Netflix/conductor/discussions) is a good place to ask questions, discuss new features and explore ideas. Please check with us before spending too much time, only to find out later that someone else is already working on a similar feature.

`main` branch is the current working branch. Please send your PR's to `main` branch, making sure that it builds on your local system successfully. Also, please make sure all the conflicts are resolved.

## License
Copyright 2022 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.
18 changes: 18 additions & 0 deletions USERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

## Who uses Conductor?

We would like to keep track of whose using Conductor. Please send a pull request with your company name and Github handle.

* [Netflix](https://www.netflix.com/) [[@aravindanr](https://github.com/aravindanr)]
* [Florida Blue](http://bcbsfl.com/) [[@rickfish](https://github.com/rickfish)]
* [UWM](https://www.uwm.com/) [[@zergrushjoe](https://github.com/ZergRushJoe)]
* [Deutsche Telekom Digital Labs](https://dtdl.in) [[@jas34](https://github.com/jas34)] [[@deoramanas](https://github.com/deoramanas)]
* [VMware](https://www.vmware.com/) [[@taojwmware](https://github.com/taojwmware)] [[@venkag](https://github.com/venkag)]
* [JP Morgan Chase](https://www.chase.com/) [[@maheshyaddanapudi](https://github.com/maheshyaddanapudi)]
* [Orkes](https://orkes.io/) [[@CherishSantoshi](https://github.com/CherishSantoshi)]
* [313X](https://313x.com.br) [[@dalmoveras](https://github.com/dalmoveras)]
* [Supercharge](https://supercharge.io) [[@team-supercharge](https://github.com/team-supercharge)]
* [GE Healthcare](https://www.gehealthcare.com/) [[@flavioschuindt](https://github.com/flavioschuindt)]
* [ReliaQuest](https://www.reliaquest.com/) [[@rq-dbrady](https://github.com/rq-dbrady)] [[@alexmay48](https://github.com/alexmay48)]
* [Clari](https://www.clari.com/) [[@TeamJOF](https://github.com/clari)]
* [Atlassian](https://www.atlassian.com/) [[@LuisLainez](https://github.com/LuisLainez)] [[@aradu](https://github.com/aradu-atlassian)]
18 changes: 0 additions & 18 deletions WHOSUSING.md

This file was deleted.

4 changes: 2 additions & 2 deletions annotations-processor/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ sourceSets {

dependencies {
implementation project(':conductor-annotations')
api 'com.google.guava:guava:31.1-jre'
api 'com.google.guava:guava:32.1.2-jre'
api 'com.squareup:javapoet:1.13.+'
api 'com.github.jknack:handlebars:4.3.+'
api 'com.google.protobuf:protobuf-java:3.21.7'
api 'com.google.protobuf:protobuf-java:3.21.12'
api 'javax.annotation:javax.annotation-api:1.3.2'
api gradleApi()

Expand Down
Loading
Loading