From 9d584168fecd9fff8765dbbde85dc48b06a33f59 Mon Sep 17 00:00:00 2001 From: c4lm Date: Thu, 21 Dec 2023 23:28:28 +0400 Subject: [PATCH 1/3] cleanup docs --- .github/ISSUE_TEMPLATE/feature_request.md | 4 ++-- CONTRIBUTING.md | 2 +- RELATED.md | 2 +- annotations-processor/README.md | 2 +- docs/css/custom.css | 9 --------- .../devguide/architecture/technicaldetails.md | 2 +- docs/devguide/concepts/why.md | 2 +- docs/devguide/faq.md | 2 +- .../Workers/build-a-java-task-worker.md | 6 +++--- docs/devguide/running/docker.md | 2 +- docs/devguide/running/source.md | 6 +++--- .../advanced/azureblob-storage.md | 2 +- docs/documentation/advanced/extend.md | 18 +++++++++--------- .../advanced/externalpayloadstorage.md | 8 ++++---- docs/documentation/clientsdks/clojure-sdk.md | 2 +- docs/documentation/clientsdks/java-sdk.md | 8 ++++---- docs/documentation/clientsdks/python-sdk.md | 6 +++--- .../workflowdef/systemtasks/event-task.md | 8 ++------ docs/documentation/metrics/server.md | 1 - docs/img/netflix-oss.png | Bin 2217 -> 0 bytes docs/index.md | 2 +- docs/resources/contributing.md | 14 +++++++------- docs/resources/related.md | 2 +- workflow-event-listener/README.md | 2 +- 24 files changed, 49 insertions(+), 63 deletions(-) delete mode 100644 docs/img/netflix-oss.png diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 659e4a8cd..8a71d8dc2 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -7,8 +7,8 @@ assignees: '' --- -Please read our [contributor guide](https://github.com/Netflix/conductor/blob/main/CONTRIBUTING.md) before creating an issue. -Also consider discussing your idea on the [discussion forum](https://github.com/Netflix/conductor/discussions) first. +Please read our [contributor guide](https://github.com/conductor-oss/conductor/blob/main/CONTRIBUTING.md) before creating an issue. +Also consider discussing your idea on the [discussion forum](https://github.com/conductor-oss/conductor/discussions) first. ## Describe the Feature Request _A clear and concise description of what the feature request is._ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ba24e0019..c7ab4bc5e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1 +1 @@ -[Contributing](docs/docs/resources/contributing.md) \ No newline at end of file +[Contributing](docs/resources/contributing.md) \ No newline at end of file diff --git a/RELATED.md b/RELATED.md index b7adabea3..abd0cf105 100644 --- a/RELATED.md +++ b/RELATED.md @@ -1 +1 @@ -[Related Projects](docs/docs/resources/related.md) +[Related Projects](docs/resources/related.md) diff --git a/annotations-processor/README.md b/annotations-processor/README.md index 13ec4a3d0..bdf9bee98 100644 --- a/annotations-processor/README.md +++ b/annotations-processor/README.md @@ -1 +1 @@ -[Annotations Processor](docs/docs/reference-docs/annotations-processor.md) \ No newline at end of file +[Annotations Processor](docs/documentation/advanced/annotation-processor.md) \ No newline at end of file diff --git a/docs/css/custom.css b/docs/css/custom.css index e9c4fed86..c0d4df92e 100644 --- a/docs/css/custom.css +++ b/docs/css/custom.css @@ -161,15 +161,6 @@ body { background-size: cover; } -/* Footer */ -.md-copyright__highlight { - background-image: url('/img/netflix-oss.png'); - background-size: contain; - background-repeat: no-repeat; - color: rgba(0,0,0,0); - height: 60px; -} - /* Comparison block */ .compare { background-color: var(--brand-lt-blue); diff --git a/docs/devguide/architecture/technicaldetails.md b/docs/devguide/architecture/technicaldetails.md index 934489207..09b46ac44 100644 --- a/docs/devguide/architecture/technicaldetails.md +++ b/docs/devguide/architecture/technicaldetails.md @@ -59,7 +59,7 @@ The goal is to allow only one decide to run on a workflow at any given time acro **Preventing stale data updates with fencing tokens:** While the locking service helps to run one decide at a time, it might still be possible for nodes with timed out locks to reactivate and continue execution from where it left off (usually with stale data). This can be avoided with fencing tokens, which basically is an incrementing counter on workflow state with read-before-write support in a transaction or similar construct. -*At Netflix, we use Cassandra. Considering the tradeoffs of Cassandra’s Lightweight Transactions (LWT) and the probability of this stale updates happening, and our testing results, we’ve decided to first only rollout distributed locking with Zookeeper. We'll monitor our system and add C* LWT if needed. +*Netflix uses Cassandra. Considering the tradeoffs of Cassandra’s Lightweight Transactions (LWT) and the probability of this stale updates happening, and our testing results, we’ve decided to first only rollout distributed locking with Zookeeper. We'll monitor our system and add C* LWT if needed. #### Setting up desired level of consistency diff --git a/docs/devguide/concepts/why.md b/docs/devguide/concepts/why.md index 8acb0d15b..fc45932dd 100644 --- a/docs/devguide/concepts/why.md +++ b/docs/devguide/concepts/why.md @@ -1,5 +1,5 @@ # Why Conductor? -Conductor was built to help Netflix orchestrate microservices based process flows. +Conductor was built to help orchestrate microservices based process flows. ## Features diff --git a/docs/devguide/faq.md b/docs/devguide/faq.md index 5d14a1835..025418c5d 100644 --- a/docs/devguide/faq.md +++ b/docs/devguide/faq.md @@ -25,7 +25,7 @@ Conductor, however will run [system tasks](../documentation/configuration/workfl ## How can I schedule workflows to run at a specific time? -Netflix Conductor itself does not provide any scheduling mechanism. But there is a community project [_Schedule Conductor Workflows_](https://github.com/jas34/scheduledwf) which provides workflow scheduling capability as a pluggable module as well as workflow server. +Conductor itself does not provide any scheduling mechanism. But there is a community project [_Schedule Conductor Workflows_](https://github.com/jas34/scheduledwf) which provides workflow scheduling capability as a pluggable module as well as workflow server. Other way is you can use any of the available scheduling systems to make REST calls to Conductor to start a workflow. Alternatively, publish a message to a supported eventing system like SQS to trigger a workflow. More details about [eventing](../documentation/configuration/eventhandlers.md). diff --git a/docs/devguide/how-tos/Workers/build-a-java-task-worker.md b/docs/devguide/how-tos/Workers/build-a-java-task-worker.md index 322834152..75bb44fe0 100644 --- a/docs/devguide/how-tos/Workers/build-a-java-task-worker.md +++ b/docs/devguide/how-tos/Workers/build-a-java-task-worker.md @@ -70,14 +70,14 @@ Worker's core implementation logic goes in the `execute` method. Upon completion The `getTaskDefName()` method returns the name of the task for which this worker provides the execution logic. -See [SampleWorker.java](https://github.com/Netflix/conductor/blob/main/client/src/test/java/com/netflix/conductor/client/sample/SampleWorker.java) for the complete example. +See [SampleWorker.java](https://github.com/conductor-oss/conductor/blob/main/client/src/test/java/com/netflix/conductor/client/sample/SampleWorker.java) for the complete example. ## Configuring polling using TaskRunnerConfigurer The `TaskRunnerConfigurer` can be used to register the worker(s) and initialize the polling loop. It manages the task workers thread pool and server communication (poll and task update). -Use the [Builder](https://github.com/Netflix/conductor/blob/main/client/src/main/java/com/netflix/conductor/client/automator/TaskRunnerConfigurer.java#L64) to create an instance of the `TaskRunnerConfigurer`. The builder accepts the following parameters: +Use the [Builder](https://github.com/conductor-oss/conductor/blob/main/client/src/main/java/com/netflix/conductor/client/automator/TaskRunnerConfigurer.java#L64) to create an instance of the `TaskRunnerConfigurer`. The builder accepts the following parameters: ```java TaskClient taskClient = new TaskClient(); @@ -97,7 +97,7 @@ Use the [Builder](https://github.com/Netflix/conductor/blob/main/client/src/main configurer.init(); ``` -See [Sample](https://github.com/Netflix/conductor/blob/main/client/src/test/java/com/netflix/conductor/client/sample/Main.java) for full example. +See [Sample](https://github.com/conductor-oss/conductor/blob/main/client/src/test/java/com/netflix/conductor/client/sample/Main.java) for full example. ### Configuration Details diff --git a/docs/devguide/running/docker.md b/docs/devguide/running/docker.md index 5cb2d7c69..1ed258528 100644 --- a/docs/devguide/running/docker.md +++ b/docs/devguide/running/docker.md @@ -17,7 +17,7 @@ The docker compose will bring up the following: ### 1. Clone the Conductor Code ```shell -$ git clone https://github.com/Netflix/conductor.git +$ git clone https://github.com/conductor-oss/conductor.git ``` ### 2. Build the Docker Compose diff --git a/docs/devguide/running/source.md b/docs/devguide/running/source.md index 97a0f4a98..0897cc42e 100644 --- a/docs/devguide/running/source.md +++ b/docs/devguide/running/source.md @@ -1,7 +1,7 @@ # Building Conductor From Source ## Build and Run -In this article we will explore how you can set up Netflix Conductor on your local machine for trying out some of its +In this article we will explore how you can set up Conductor on your local machine for trying out some of its features. ### Prerequisites @@ -13,10 +13,10 @@ features. ### Steps to build Conductor Server #### 1. Checkout the code -Clone conductor code from the repo: https://github.com/Netflix/conductor +Clone conductor code from the repo: https://github.com/conductor-oss/conductor ```shell -$ git clone https://github.com/Netflix/conductor.git +$ git clone https://github.com/conductor-oss/conductor.git ``` #### 2. Build and run Server diff --git a/docs/documentation/advanced/azureblob-storage.md b/docs/documentation/advanced/azureblob-storage.md index 52b6f2a2a..0427d9343 100644 --- a/docs/documentation/advanced/azureblob-storage.md +++ b/docs/documentation/advanced/azureblob-storage.md @@ -1,6 +1,6 @@ # Azure Blob Storage -The [AzureBlob storage](https://github.com/Netflix/conductor/tree/main/azureblob-storage) module uses azure blob to store and retrieve workflows/tasks input/output payload that +The [AzureBlob storage](https://github.com/conductor-oss/conductor/tree/main/azureblob-storage) module uses azure blob to store and retrieve workflows/tasks input/output payload that went over the thresholds defined in properties named `conductor.[workflow|task].[input|output].payload.threshold.kb`. **Warning** Azure Java SDK use libs already present inside `conductor` like `jackson` and `netty`. diff --git a/docs/documentation/advanced/extend.md b/docs/documentation/advanced/extend.md index 62bffa0b6..175d0e994 100644 --- a/docs/documentation/advanced/extend.md +++ b/docs/documentation/advanced/extend.md @@ -34,21 +34,21 @@ To create system tasks follow the steps below: * Extend ```com.netflix.conductor.core.execution.tasks.WorkflowSystemTask``` * Instantiate the new class as part of the startup (eager singleton) -* Implement the ```TaskMapper``` [interface](https://github.com/Netflix/conductor/blob/master/core/src/main/java/com/netflix/conductor/core/execution/mapper/TaskMapper.java) -* Add this implementation to the map identified by [TaskMappers](https://github.com/Netflix/conductor/blob/master/core/src/main/java/com/netflix/conductor/core/config/CoreModule.java#L70) +* Implement the ```TaskMapper``` [interface](https://github.com/conductor-oss/conductor/blob/master/core/src/main/java/com/netflix/conductor/core/execution/mapper/TaskMapper.java) +* Add this implementation to the map identified by [TaskMappers](https://github.com/conductor-oss/conductor/blob/master/core/src/main/java/com/netflix/conductor/core/config/CoreModule.java#L70) ## External Payload Storage To configure conductor to externalize the storage of large payloads: -* Implement the `ExternalPayloadStorage` [interface](https://github.com/Netflix/conductor/blob/master/common/src/main/java/com/netflix/conductor/common/utils/ExternalPayloadStorage.java). -* Add the storage option to the enum [here](https://github.com/Netflix/conductor/blob/master/server/src/main/java/com/netflix/conductor/bootstrap/ModulesProvider.java#L39). +* Implement the `ExternalPayloadStorage` [interface](https://github.com/conductor-oss/conductor/blob/master/common/src/main/java/com/netflix/conductor/common/utils/ExternalPayloadStorage.java). +* Add the storage option to the enum [here](https://github.com/conductor-oss/conductor/blob/master/server/src/main/java/com/netflix/conductor/bootstrap/ModulesProvider.java#L39). * Set this JVM system property ```workflow.external.payload.storage``` to the value of the enum element added above. -* Add a binding similar to [this](https://github.com/Netflix/conductor/blob/master/server/src/main/java/com/netflix/conductor/bootstrap/ModulesProvider.java#L120-L127). +* Add a binding similar to [this](https://github.com/conductor-oss/conductor/blob/master/server/src/main/java/com/netflix/conductor/bootstrap/ModulesProvider.java#L120-L127). ## Workflow Status Listener To provide a notification mechanism upon completion/termination of workflows: -* Implement the ```WorkflowStatusListener``` [interface](https://github.com/Netflix/conductor/blob/master/core/src/main/java/com/netflix/conductor/core/execution/WorkflowStatusListener.java) +* Implement the ```WorkflowStatusListener``` [interface](https://github.com/conductor-oss/conductor/blob/main/core/src/main/java/com/netflix/conductor/core/execution/WorkflowStatusListener.java) * This can be configured to plugin custom notification/eventing upon workflows reaching a terminal state. ## Locking Service @@ -57,11 +57,11 @@ By default, Conductor Server module loads Zookeeper lock module. If you'd like t for eg., with Dynomite and Redlock: * Implement ```Lock``` interface. -* Add a binding similar to [this](https://github.com/Netflix/conductor/blob/master/server/src/main/java/com/netflix/conductor/bootstrap/ModulesProvider.java#L115-L129) +* Add a binding similar to [this](https://github.com/conductor-oss/conductor/blob/main/server/src/main/java/com/netflix/conductor/bootstrap/ModulesProvider.java#L115-L129) * Enable locking service: ```conductor.app.workflowExecutionLockEnabled: true``` ## Event Handling -Provide the implementation of [EventQueueProvider](https://github.com/Netflix/conductor/blob/master/core/src/main/java/com/netflix/conductor/core/events/EventQueueProvider.java). +Provide the implementation of [EventQueueProvider](https://github.com/conductor-oss/conductor/blob/main/core/src/main/java/com/netflix/conductor/core/events/EventQueueProvider.java). E.g. SQS Queue Provider: -[SQSEventQueueProvider.java ](https://github.com/Netflix/conductor/blob/master/contribs/src/main/java/com/netflix/conductor/core/events/sqs/SQSEventQueueProvider.java) +[SQSEventQueueProvider.java ](https://github.com/conductor-oss/conductor/blob/main/aws-sqs-event-queue/src/main/java/com/netflix/conductor/core/events/sqs/SQSEventQueueProvider.java) diff --git a/docs/documentation/advanced/externalpayloadstorage.md b/docs/documentation/advanced/externalpayloadstorage.md index 29e317258..a8e468bcd 100644 --- a/docs/documentation/advanced/externalpayloadstorage.md +++ b/docs/documentation/advanced/externalpayloadstorage.md @@ -51,7 +51,7 @@ conductor.external-payload-storage.type=S3 ``` !!! note - This [implementation](https://github.com/Netflix/conductor/blob/master/core/src/main/java/com/netflix/conductor/core/utils/S3PayloadStorage.java#L44-L45) assumes that S3 access is configured on the instance. + This [implementation](https://github.com/conductor-oss/conductor/blob/main/awss3-storage/src/main/java/com/netflix/conductor/s3/storage/S3PayloadStorage.java#L44-L45) assumes that S3 access is configured on the instance. Set the following properties to the desired values in the JVM system properties: @@ -60,13 +60,13 @@ Set the following properties to the desired values in the JVM system properties: | conductor.external-payload-storage.s3.bucketName | S3 bucket where the payloads will be stored | | | conductor.external-payload-storage.s3.signedUrlExpirationDuration | The expiration time in seconds of the signed url for the payload | 5 | -The payloads will be stored in the bucket configured above in a `UUID.json` file at locations determined by the type of the payload. See [here](https://github.com/Netflix/conductor/blob/master/core/src/main/java/com/netflix/conductor/core/utils/S3PayloadStorage.java#L149-L167) for information about how the object key is determined. +The payloads will be stored in the bucket configured above in a `UUID.json` file at locations determined by the type of the payload. See [here](https://github.com/conductor-oss/conductor/blob/main/awss3-storage/src/main/java/com/netflix/conductor/s3/storage/S3PayloadStorage.java#L149-L167) for information about how the object key is determined. ### Azure Blob Storage ProductLive provides an implementation of [Azure Blob Storage](https://azure.microsoft.com/services/storage/blobs/) used to externalize large payload storage. -To build conductor with azure blob feature read the [README.md](https://github.com/Netflix/conductor/blob/master/azureblob-storage/README.md) in `azureblob-storage` module +To build conductor with azure blob feature read the [README.md](https://github.com/conductor-oss/conductor/blob/main/azureblob-storage/README.md) in `azureblob-storage` module !!!note This implementation assumes that you have an [Azure Blob Storage account's connection string or SAS Token](https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/storage/azure-storage-blob/README.md). @@ -86,7 +86,7 @@ Set the following properties to the desired values in the JVM system properties: | workflow.external.payload.storage.azure_blob.task_input_path | Path prefix where tasks input will be stored with an random UUID filename | task/input/ | | workflow.external.payload.storage.azure_blob.task_output_path | Path prefix where tasks output will be stored with an random UUID filename | task/output/ | -The payloads will be stored as done in [Amazon S3](https://github.com/Netflix/conductor/blob/master/core/src/main/java/com/netflix/conductor/core/utils/S3PayloadStorage.java#L149-L167). +The payloads will be stored as done in [Amazon S3](https://github.com/conductor-oss/conductor/blob/main/awss3-storage/src/main/java/com/netflix/conductor/s3/storage/S3PayloadStorage.java#L149-L167). ### PostgreSQL Storage diff --git a/docs/documentation/clientsdks/clojure-sdk.md b/docs/documentation/clientsdks/clojure-sdk.md index 9bd1b3940..11617092b 100644 --- a/docs/documentation/clientsdks/clojure-sdk.md +++ b/docs/documentation/clientsdks/clojure-sdk.md @@ -1,6 +1,6 @@ # Clojure SDK -Software Development Kit for Netflix Conductor, written on and providing support for Clojure. +Software Development Kit for Conductor, written on and providing support for Clojure. The code for the Clojure SDk is available on [Github](https://github.com/conductor-sdk/conductor-clojure). Please feel free to file PRs, issues, etc. there. diff --git a/docs/documentation/clientsdks/java-sdk.md b/docs/documentation/clientsdks/java-sdk.md index b408438f9..da7975e9b 100644 --- a/docs/documentation/clientsdks/java-sdk.md +++ b/docs/documentation/clientsdks/java-sdk.md @@ -11,13 +11,13 @@ Conductor provides the following java clients to interact with the various APIs ## Worker Conductor provides an automated framework to poll for tasks, manage the execution thread and update the status of the execution back to the server. -Implement the [Worker](https://github.com/Netflix/conductor/blob/main/client/src/main/java/com/netflix/conductor/client/worker/Worker.java) interface to execute the task. +Implement the [Worker](https://github.com/conductor-oss/conductor/blob/main/client/src/main/java/com/netflix/conductor/client/worker/Worker.java) interface to execute the task. ## TaskRunnerConfigurer The TaskRunnerConfigurer can be used to register the worker(s) and initialize the polling loop. Manages the task workers thread pool and server communication (poll and task update). -Use the [Builder](https://github.com/Netflix/conductor/blob/main/client/src/main/java/com/netflix/conductor/client/automator/TaskRunnerConfigurer.java#L62) to create an instance of the TaskRunnerConfigurer. The Builder constructor takes the following parameters. +Use the [Builder](https://github.com/conductor-oss/conductor/blob/main/client/src/main/java/com/netflix/conductor/client/automator/TaskRunnerConfigurer.java#L62) to create an instance of the TaskRunnerConfigurer. The Builder constructor takes the following parameters. | Parameter | Description | | ---------- | ------------------------------------------------------------- | @@ -58,6 +58,6 @@ Further, these properties can be set either by Worker implementation or by setti ## Examples -* [Sample Worker Implementation](https://github.com/Netflix/conductor/blob/main/client/src/test/java/com/netflix/conductor/client/sample/SampleWorker.java) -* [Example](https://github.com/Netflix/conductor/blob/main/client/src/test/java/com/netflix/conductor/client/sample/Main.java) +* [Sample Worker Implementation](https://github.com/conductor-oss/conductor/blob/main/client/src/test/java/com/netflix/conductor/client/sample/SampleWorker.java) +* [Example](https://github.com/conductor-oss/conductor/blob/main/client/src/test/java/com/netflix/conductor/client/sample/Main.java) diff --git a/docs/documentation/clientsdks/python-sdk.md b/docs/documentation/clientsdks/python-sdk.md index 45c9097c6..e0d98b3b4 100644 --- a/docs/documentation/clientsdks/python-sdk.md +++ b/docs/documentation/clientsdks/python-sdk.md @@ -1,6 +1,6 @@ # Python SDK -Software Development Kit for Netflix Conductor, written on and providing support for Python. +Software Development Kit for Conductor, written on and providing support for Python. The code for the Python SDk is available on [Github](https://github.com/conductor-sdk/conductor-python). Please feel free to file PRs, issues, etc. there. @@ -67,9 +67,9 @@ The code for the Python SDk is available on [Github](https://github.com/conducto * This example contains two workers, each with a different execution method, capable of running the same `task_definition_name` 5. Now that you have implemented the example, you can start the Conductor server locally: - 1. Clone [Netflix Conductor repository](https://github.com/Netflix/conductor): + 1. Clone [Conductor repository](https://github.com/conductor-oss/conductor): - $ git clone https://github.com/Netflix/conductor.git + $ git clone https://github.com/conductor-oss/conductor.git $ cd conductor/ 2. Start the Conductor server: diff --git a/docs/documentation/configuration/workflowdef/systemtasks/event-task.md b/docs/documentation/configuration/workflowdef/systemtasks/event-task.md index 8153e7ce1..c3e3ff180 100644 --- a/docs/documentation/configuration/workflowdef/systemtasks/event-task.md +++ b/docs/documentation/configuration/workflowdef/systemtasks/event-task.md @@ -15,8 +15,8 @@ Conductor supports the the following eventing models: 1. Conductor internal events (prefix: `conductor`) 2. SQS (prefix: `sqs`) -3. [NATS](https://github.com/Netflix/conductor/tree/main/contribs/src/main/java/com/netflix/conductor/contribs/queue/nats) (prefix: `nats`) -4. [AMQP](https://github.com/Netflix/conductor/tree/main/contribs/src/main/java/com/netflix/conductor/contribs/queue/amqp) (prefix: `amqp_queue or amqp_exchange`) +3. NATS (prefix: `nats`) +4. AMQP (prefix: `amqp_queue or amqp_exchange`) ## Configuration @@ -40,10 +40,6 @@ When using Conductor as sink, you have two options: defining the sink as `conduc ### SQS sink For SQS, use the **name** of the queue and NOT the URI. Conductor looks up the URI based on the name. -!!!warning - When using SQS add the [ContribsModule](https://github.com/Netflix/conductor/blob/master/contribs/src/main/java/com/netflix/conductor/contribs/ContribsModule.java) to the deployment. The module needs to be configured with AWSCredentialsProvider for Conductor to be able to use AWS APIs. - - ## Output Tasks's output are sent as a payload to the external event. In case of SQS the task's output is sent to the SQS message a a payload. diff --git a/docs/documentation/metrics/server.md b/docs/documentation/metrics/server.md index e22d08e2c..45c65ddaa 100644 --- a/docs/documentation/metrics/server.md +++ b/docs/documentation/metrics/server.md @@ -3,7 +3,6 @@ Conductor uses [spectator](https://github.com/Netflix/spectator) to collect the metrics. - To enable conductor serve to publish metrics, add this [dependency](http://netflix.github.io/spectator/en/latest/registry/metrics3/) to your build.gradle. -- Conductor Server enables you to load additional modules dynamically, this feature can be controlled using this [configuration](https://github.com/Netflix/conductor/blob/master/server/README.md#additional-modules-optional). - Create your own AbstractModule that overides configure function and registers the Spectator metrics registry. - Initialize the Registry and add it to the global registry via ```((CompositeRegistry)Spectator.globalRegistry()).add(...)```. diff --git a/docs/img/netflix-oss.png b/docs/img/netflix-oss.png deleted file mode 100644 index d0e8275cd3b6c1e6c996e5cc88434771180934c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2217 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

Workflow definitions are decoupled from task implementations. This allows the creation of process flows in which each individual task can be implemented by an encapsulated microservice.

-

Designing a workflow orchestrator that is resilient and horizontally scalable is not a simple problem. At Netflix we have developed a solution in Conductor.

+

Designing a workflow orchestrator that is resilient and horizontally scalable is not a simple problem. Conductor was developed as a solution to that problem.

diff --git a/docs/resources/contributing.md b/docs/resources/contributing.md index c80f6bbf6..91892149e 100644 --- a/docs/resources/contributing.md +++ b/docs/resources/contributing.md @@ -10,7 +10,7 @@ Please review our [code of conduct](https://orkes.io/orkes-conductor-community-c I have a question! ----- -We have a dedicated [discussion forum](https://github.com/Netflix/conductor/discussions) for asking "how to" questions and to discuss ideas. The discussion forum is a great place to start if you're considering creating a feature request or work on a Pull Request. +We have a dedicated [discussion forum](https://github.com/conductor-oss/conductor/discussions) for asking "how to" questions and to discuss ideas. The discussion forum is a great place to start if you're considering creating a feature request or work on a Pull Request. *Please do not create issues to ask questions.* I want to contribute! @@ -19,11 +19,11 @@ I want to contribute! We welcome Pull Requests and already had many outstanding community contributions! Creating and reviewing Pull Requests take considerable time. This section helps you to set up a smooth Pull Request experience. -The stable branch is [main](https://github.com/Netflix/conductor/tree/main). +The stable branch is [main](https://github.com/conductor-oss/conductor/tree/main). -Please create pull requests for your contributions against [main](https://github.com/Netflix/conductor/tree/main) only. +Please create pull requests for your contributions against [main](https://github.com/conductor-oss/conductor/tree/main) only. -It's a great idea to discuss the new feature you're considering on the [discussion forum](https://github.com/Netflix/conductor/discussions) before writing any code. There are often different ways you can implement a feature. Getting some discussion about different options helps shape the best solution. When starting directly with a Pull Request, there is the risk of having to make considerable changes. Sometimes that is the best approach, though! Showing an idea with code can be very helpful; be aware that it might be throw-away work. Some of our best Pull Requests came out of multiple competing implementations, which helped shape it to perfection. +It's a great idea to discuss the new feature you're considering on the [discussion forum](https://github.com/conductor-oss/conductor/discussions) before writing any code. There are often different ways you can implement a feature. Getting some discussion about different options helps shape the best solution. When starting directly with a Pull Request, there is the risk of having to make considerable changes. Sometimes that is the best approach, though! Showing an idea with code can be very helpful; be aware that it might be throw-away work. Some of our best Pull Requests came out of multiple competing implementations, which helped shape it to perfection. Also, consider that not every feature is a good fit for Conductor. A few things to consider are: @@ -44,7 +44,7 @@ If you found a bug, it is much appreciated if you create an issue. Please includ I have a great idea for a new feature ---- -Many features in Conductor have come from ideas from the community. If you think something is missing or certain use cases could be supported better, let us know! You can do so by opening a discussion on the [discussion forum](https://github.com/Netflix/conductor/discussions). Provide as much relevant context to why and when the feature would be helpful. Providing context is especially important for "Support XYZ" issues since we might not be familiar with what "XYZ" is and why it's useful. If you have an idea of how to implement the feature, include that as well. +Many features in Conductor have come from ideas from the community. If you think something is missing or certain use cases could be supported better, let us know! You can do so by opening a discussion on the [discussion forum](https://github.com/conductor-oss/conductor/discussions). Provide as much relevant context to why and when the feature would be helpful. Providing context is especially important for "Support XYZ" issues since we might not be familiar with what "XYZ" is and why it's useful. If you have an idea of how to implement the feature, include that as well. Once we have decided on a direction, it's time to summarize the idea by creating a new issue. @@ -53,13 +53,13 @@ We use [spotless](https://github.com/diffplug/spotless) to enforce consistent co ## License -By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/Netflix/conductor/blob/master/LICENSE +By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/conductor-oss/conductor/blob/main/LICENSE All files are released with the Apache 2.0 license, and the following license header will be automatically added to your new file if none present: ``` /** - * Copyright $YEAR Netflix, Inc. + * Copyright $YEAR Conductor authors. * * 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 diff --git a/docs/resources/related.md b/docs/resources/related.md index 9a293f152..93bce674a 100644 --- a/docs/resources/related.md +++ b/docs/resources/related.md @@ -42,7 +42,7 @@ Docker image published to [Docker Hub](https://hub.docker.com/repository/docker/ * https://github.com/ggrcha/conductor-go-client - Conductor Golang client for writing Workers in Golang * https://github.com/courosh12/conductor-dotnet-client - Conductor DOTNET client for writing Workers in DOTNET - * https://github.com/TwoUnderscorez/serilog-sinks-conductor-task-log - Serilog sink for sending worker log events to Netflix Conductor + * https://github.com/TwoUnderscorez/serilog-sinks-conductor-task-log - Serilog sink for sending worker log events to Conductor * https://github.com/davidwadden/conductor-workers - Various ready made Conductor workers for common operations on some platforms (ex.: Jira, Github, Concourse) diff --git a/workflow-event-listener/README.md b/workflow-event-listener/README.md index 8dcc596bc..48a3b6be0 100644 --- a/workflow-event-listener/README.md +++ b/workflow-event-listener/README.md @@ -32,7 +32,7 @@ conductor.workflow-status-listener.archival.delayQueueWorkerThreadCount=5 ``` ### Queue publisher -Publish a summary of workflow [WorkflowSummary](https://github.com/Netflix/conductor/blob/main/common/src/main/java/com/netflix/conductor/common/run/WorkflowSummary.java) +Publish a summary of workflow [WorkflowSummary](https://github.com/conductor-oss/conductor/blob/main/common/src/main/java/com/netflix/conductor/common/run/WorkflowSummary.java) to a queue as the workflow gets completed. ```properties From 235b5c1847974b026f5d1def1b36e7d410d30c2c Mon Sep 17 00:00:00 2001 From: c4lm Date: Fri, 22 Dec 2023 01:57:23 +0400 Subject: [PATCH 2/3] more cleanup and mention js sdk --- .../Workers/build-a-golang-task-worker.md | 55 +------------ .../Workers/build-a-python-task-worker.md | 80 +------------------ docs/devguide/running/docker.md | 2 +- .../advanced/azureblob-storage.md | 4 - docs/documentation/clientsdks/index.md | 1 + docs/documentation/clientsdks/js-sdk.md | 3 + mkdocs.yml | 1 + 7 files changed, 8 insertions(+), 138 deletions(-) create mode 100644 docs/documentation/clientsdks/js-sdk.md diff --git a/docs/devguide/how-tos/Workers/build-a-golang-task-worker.md b/docs/devguide/how-tos/Workers/build-a-golang-task-worker.md index 20cb668d1..5652a7ca9 100644 --- a/docs/devguide/how-tos/Workers/build-a-golang-task-worker.md +++ b/docs/devguide/how-tos/Workers/build-a-golang-task-worker.md @@ -1,56 +1,3 @@ # Build a Go Task Worker -## Install -```shell -go get github.com/netflix/conductor/client/go -``` -This will create a Go project under $GOPATH/src and download any dependencies. - -## Implementing a Task a Worker -`task`package provies the types used to implement the worker. Here is a reference worker implementation: - -```go -package task - -import ( - "fmt" -) - -// Implementation for "task_1" -func Task_1_Execution_Function(t *task.Task) (taskResult *task.TaskResult, err error) { - log.Println("Executing Task_1_Execution_Function for", t.TaskType) - - //Do some logic - taskResult = task.NewTaskResult(t) - - output := map[string]interface{}{"task":"task_1", "key2":"value2", "key3":3, "key4":false} - taskResult.OutputData = output - taskResult.Status = "COMPLETED" - err = nil - - return taskResult, err -} -``` - -## Worker Polling -Here is an example that shows how to start polling for tasks after defining the tasks. - -```go -package main - -import ( - "github.com/netflix/conductor/client/go" - "github.com/netflix/conductor/client/go/task/sample" -) - -func main() { - c := conductor.NewConductorWorker("{{ server_host }}", 1, 10000) - - c.Start("task_1", "", sample.Task_1_Execution_Function, false) - c.Start("task_2", "mydomain", sample.Task_2_Execution_Function, true) -} -``` -### `NewConductorWoker` parameters -1. baseUrl: Server address. -2. threadCount: No. of threads. Number of threads should be at-least same as the number of workers -3. pollingInterval: Time in millisecond between subsequent polls +See [conductor-sdk/conductor-go](https://github.com/conductor-sdk/conductor-go/blob/main/README.md) diff --git a/docs/devguide/how-tos/Workers/build-a-python-task-worker.md b/docs/devguide/how-tos/Workers/build-a-python-task-worker.md index 875571df7..8eed69a80 100644 --- a/docs/devguide/how-tos/Workers/build-a-python-task-worker.md +++ b/docs/devguide/how-tos/Workers/build-a-python-task-worker.md @@ -1,82 +1,4 @@ # Build a Python Task Worker -## Install the python client -```shell - virtualenv conductorclient - source conductorclient/bin/activate - cd ../conductor/client/python - python setup.py install -``` - -## Implement a Task Worker -[ConductorWorker](https://github.com/Netflix/conductor/blob/main/polyglot-clients/python/conductor/ConductorWorker.py#L36) -class is used to implement task workers. -The following script shows how to bring up two task workers named `book_flight` and `book_car`: - -```python -from __future__ import print_function -from conductor.ConductorWorker import ConductorWorker - -def book_flight_task(task): - return {'status': 'COMPLETED', 'output': {'booking_ref': 2341111, 'airline': 'delta'}, 'logs': ['trying delta', 'skipping aa']} - -def book_car_task(task): - return {'status': 'COMPLETED', 'output': {'booking_ref': "84545fdfd", 'agency': 'hertz'}, 'logs': ['trying hertz']} - -def main(): - print('Starting Travel Booking workflows') - cc = ConductorWorker('{{ server_host }}{{ api_prefix }}', 1, 0.1) - cc.start('book_flight', book_flight_task, False) - cc.start('book_car', book_car_task, True) - -if __name__ == '__main__': - main() -``` -### `ConductorWorker` parameters -```python -server_url: str - The url to the server hosting the conductor api. - Ex: '{{ server_host }}{{ api_prefix }}' - -thread_count: int - The number of threads that will be polling for and - executing tasks in case of using the start method. - -polling_interval: float - The number of seconds that each worker thread will wait - between polls to the conductor server. - -worker_id: str, optional - The worker_id of the worker that is going to execute the - task. For further details, refer to the documentation - By default, it is set to hostname of the machine -``` -### `start` method parameters -```pythhon -taskType: str - The name of the task that the worker is looking to execute - -exec_function: function - The function that the worker will execute. The function - must return a dict with the `status`, `output` and `logs` - keys present. If this is not present, an Exception will be - raised - -wait: bool - Whether the worker will block execution of further code. - Since the workers are being run in daemon threads, when the - program completes execution, all the threads are destroyed. - Setting wait to True prevents the program from ending. - If multiple workers are being called from the same program, - all but the last start call but have wait set to False. - The last start call must always set wait to True. If a - single worker is being called, set wait to True. - -domain: str, optional - The domain of the task under which the worker will run. For - further details refer to the conductor server documentation - By default, it is set to None -``` See -[https://github.com/Netflix/conductor/tree/main/polyglot-clients/python](https://github.com/Netflix/conductor/tree/main/polyglot-clients/python) -for the source code. +[conductor-sdk/conductor-python](https://github.com/conductor-sdk/conductor-python/blob/main/README.md) diff --git a/docs/devguide/running/docker.md b/docs/devguide/running/docker.md index 1ed258528..4e11f8de8 100644 --- a/docs/devguide/running/docker.md +++ b/docs/devguide/running/docker.md @@ -1,7 +1,7 @@ # Running Conductor Using Docker -In this article we will explore how you can set up Netflix Conductor on your local machine using Docker compose. +In this article we will explore how you can set up Conductor on your local machine using Docker compose. The docker compose will bring up the following: 1. Conductor API Server diff --git a/docs/documentation/advanced/azureblob-storage.md b/docs/documentation/advanced/azureblob-storage.md index 0427d9343..8cb7a3243 100644 --- a/docs/documentation/advanced/azureblob-storage.md +++ b/docs/documentation/advanced/azureblob-storage.md @@ -9,10 +9,6 @@ It has only been tested with **v12.2.0**. ## Configuration -### Usage - -Cf. Documentation [External Payload Storage](https://netflix.github.io/conductor/externalpayloadstorage/#azure-blob-storage) - ### Example ```properties diff --git a/docs/documentation/clientsdks/index.md b/docs/documentation/clientsdks/index.md index 6cb8f88be..197349c7e 100644 --- a/docs/documentation/clientsdks/index.md +++ b/docs/documentation/clientsdks/index.md @@ -6,5 +6,6 @@ Conductor tasks that are executed by remote workers communicate over HTTP endpoi * [C#](csharp-sdk.md) * [Go](go-sdk.md) * [Python](python-sdk.md) +* [Javascript/Typescript](js-sdk.md) The non-Java Conductor SDKs are hosted on a separate GitHub repository: [github.com/conductor-sdk](https://github.com/conductor-sdk). Contributions from the community are encouraged! diff --git a/docs/documentation/clientsdks/js-sdk.md b/docs/documentation/clientsdks/js-sdk.md new file mode 100644 index 000000000..ba0b79a3b --- /dev/null +++ b/docs/documentation/clientsdks/js-sdk.md @@ -0,0 +1,3 @@ +# Javascript/TypeScript SDK + +See [conductor-sdk/conductor-javascript](https://github.com/conductor-sdk/conductor-javascript/blob/main/README.md) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index a5c1166ef..c898ed027 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -108,6 +108,7 @@ nav: - documentation/clientsdks/clojure-sdk.md - documentation/clientsdks/go-sdk.md - documentation/clientsdks/python-sdk.md + - documentation/clientsdks/js-sdk.md - Resources: - Contributing: resources/contributing.md - Code of Conduct: resources/code-of-conduct.md From 5c06b37ad18038d8a34e0f438d3efe10c179ec97 Mon Sep 17 00:00:00 2001 From: c4lm Date: Fri, 22 Dec 2023 22:24:59 +0400 Subject: [PATCH 3/3] more cleanup --- awss3-storage/build.gradle | 2 +- build.gradle | 32 +------------------ cassandra-persistence/build.gradle | 2 +- common/build.gradle | 2 +- core/build.gradle | 2 +- .../main/resources/META-INF/validation.xml | 2 +- .../META-INF/validation/constraints.xml | 2 +- dependencies.gradle | 2 +- docker/server/bin/startup.sh | 2 +- .../config/log4j-file-appender.properties | 2 +- docker/server/config/log4j.properties | 2 +- docker/ui/Dockerfile | 2 +- .../workflowdef/operators/do-while-task.md | 2 +- docs/index.md | 2 +- es6-persistence/build.gradle | 2 +- es7-persistence/README.md | 8 ++--- grpc-client/build.gradle | 5 ++- grpc-server/build.gradle | 3 ++ .../src/test/resources/log4j.properties | 2 +- grpc/build.gradle | 5 ++- .../netflix/conductor/grpc/ProtoMapper.java | 2 +- .../conductor/grpc/TestProtoMapper.java | 2 +- http-task/build.gradle | 2 +- .../application-integrationtest.properties | 2 +- java-sdk/src/test/resources/log4j2.xml | 2 +- java-sdk/worker_sdk.md | 2 +- java-sdk/workflow_sdk.md | 26 +++++++-------- json-jq-task/build.gradle | 2 +- .../integration/KafkaPublishTaskSpec.groovy | 2 +- .../application-integrationtest.properties | 2 +- mkdocs.yml | 2 +- redis-persistence/build.gradle | 2 +- rest/src/main/resources/static/index.html | 6 ++-- server/build.gradle | 2 +- .../src/main/resources/application.properties | 2 +- server/src/main/resources/log4j2.xml | 2 +- settings.gradle | 2 +- springboot-bom-overrides.gradle | 2 +- .../application-integrationtest.properties | 2 +- .../AbstractResiliencySpecification.groovy | 2 +- .../test/base/AbstractSpecification.groovy | 2 +- .../test/util/WorkflowTestUtil.groovy | 2 +- .../application-integrationtest.properties | 2 +- 43 files changed, 68 insertions(+), 89 deletions(-) diff --git a/awss3-storage/build.gradle b/awss3-storage/build.gradle index adda2bb42..57e9d4fc3 100644 --- a/awss3-storage/build.gradle +++ b/awss3-storage/build.gradle @@ -1,5 +1,5 @@ /* - * Copyright 2022 Netflix, Inc. + * Copyright 2023 Conductor authors *

* 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 diff --git a/build.gradle b/build.gradle index 34041e57e..758dea44d 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,6 @@ buildscript { } } dependencies { - classpath 'com.netflix.nebula:gradle-extra-configurations-plugin:7.0.0' classpath 'org.springframework.boot:spring-boot-gradle-plugin:3.1.4' classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.+' } @@ -20,11 +19,10 @@ plugins { id 'application' id 'jacoco' id 'nebula.netflixoss' version '10.6.0' - id 'org.sonarqube' version '3.4.0.2513' } /* - * Copyright 2021 Netflix, Inc. + * Copyright 2023 Conductor authors *

* 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 @@ -66,26 +64,6 @@ allprojects { repositories { mavenCentral() - - // oss-candidate for -rc.* verions: - maven { - url "https://artifactory-oss.prod.netflix.net/artifactory/maven-oss-candidates" - } - - /** - * This repository locates artifacts that don't exist in maven central but we had to backup from jcenter - * The exclusiveContent - */ - exclusiveContent { - forRepository { - maven { - url "https://artifactory-oss.prod.netflix.net/artifactory/required-jcenter-modules-backup" - } - } - filter { - includeGroupByRegex "com\\.github\\.vmg.*" - } - } } dependencyManagement { @@ -145,14 +123,6 @@ task server { dependsOn ':conductor-server:bootRun' } -sonarqube { - properties { - property "sonar.projectKey", "com.netflix.conductor:conductor" - property "sonar.organization", "netflix" - property "sonar.host.url", "https://sonarcloud.io" - } -} - configure(allprojects - project(':conductor-grpc')) { apply plugin: 'com.diffplug.spotless' diff --git a/cassandra-persistence/build.gradle b/cassandra-persistence/build.gradle index 1d6745c61..af1e8be2d 100644 --- a/cassandra-persistence/build.gradle +++ b/cassandra-persistence/build.gradle @@ -1,5 +1,5 @@ /* - * Copyright 2021 Netflix, Inc. + * Copyright 2023 Conductor authors *

* 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 diff --git a/common/build.gradle b/common/build.gradle index ef64ff263..6c75a821e 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -26,7 +26,7 @@ dependencies { } /* - * Copyright 2021 Netflix, Inc. + * Copyright 2023 Conductor authors *

* 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 diff --git a/core/build.gradle b/core/build.gradle index c45b3c1c8..beef8f7a2 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,5 +1,5 @@ /* - * Copyright 2021 Netflix, Inc. + * Copyright 2023 Conductor authors *

* 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 diff --git a/core/src/main/resources/META-INF/validation.xml b/core/src/main/resources/META-INF/validation.xml index 4c8ec2ce9..bdc4df27c 100644 --- a/core/src/main/resources/META-INF/validation.xml +++ b/core/src/main/resources/META-INF/validation.xml @@ -1,6 +1,6 @@