Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
File renamed without changes.
36 changes: 15 additions & 21 deletions docs/api/management/workflow/execute.mdx
Original file line number Diff line number Diff line change
@@ -1,31 +1,22 @@
# Execute Workflow Synchronously

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

export const Highlight = ({children, color}) => (
<span
style={{
backgroundColor: color,
borderRadius: '2px',
color: '#fff',
padding: '0.2rem',
}}>
{children}
</span>
);

<Highlight color="#25c2a0">Docusaurus green</Highlight> and <Highlight color="#1877F2">Facebook blue</Highlight> are my favorite colors.
# Execute Workflow Synchronously
### API
POST /api/workflow/execute/{name}/{version} -d {}

## Start a workflow
## Client SDK Methods

<Tabs>
<TabItem value="Shell" label="Shell" default>
This is an apple 🍎
</TabItem>
<TabItem value="Java" label="Java">
This is an orange 🍊
</TabItem>
<TabItem value="Java" label="Java">

```java
public abstract CompletableFuture<WorkflowRun>
executeWorkflow(StartWorkflowRequest request, String waitUntilTask);
```
</TabItem>

<TabItem value="Golang" label="Golang">
This is a banana 🍌
</TabItem>
Expand All @@ -35,4 +26,7 @@ export const Highlight = ({children, color}) => (
<TabItem value="CSharp" label="CSharp">
This is a banana 🍌
</TabItem>
<TabItem value="javascript" label="Javascript">
This is a banana 🍌
</TabItem>
</Tabs>
18 changes: 18 additions & 0 deletions docs/concepts/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Core Concepts

## What is Conductor
* Conductor is a platform to build stateful distributed applications using Orchestration pattern.
* Conductor helps you build applications that span across microservices, events such as Kafka, SQS, RabbitMQ, Serverless and Monolithic application code.
* Conductor is language, framework and cloud agnostic platform. Applications using Conductor orchestrates the business logic using Workflows.

## Conductor Architecture
![Conductor Architecture](/img/architecture.png)

## Conductor Applications
Applications that leverages Conductor to build distributed stateful flows does it by creating Workflows and Tasks.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion docs/conductor/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
sidebar_position: 2
---

# Getting Started
# Configuration Reference

See our Tutorial on [creating your first Workflow](../../getting-started/run/running-first-workflow) for a complete walk-through on creating workflows.

Expand Down
13 changes: 13 additions & 0 deletions docs/getting-started/csharp.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
sidebar_position: 3
---

# CSharp - Getting Started
Create a conductor application in CSharp from scratch

### Introduction
### Setup
### Application
### Create a workflow
### Write workers
### Execute workflow and workers
13 changes: 13 additions & 0 deletions docs/getting-started/go.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
sidebar_position: 1
---

# Go - Getting Started
Create a conductor application in Golang from scratch

### Introduction
### Setup
### Application
### Create a workflow
### Write workers
### Execute workflow and workers
146 changes: 137 additions & 9 deletions docs/getting-started/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,144 @@ sidebar_position: 1
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import DocCardList from '@theme/DocCardList';

# Core Concepts
# Getting Started with Conductor
Conductor is a runtime platform for building distributed stateful applications using workflows with event driven architecture.

## What is Conductor
* Conductor is a platform to build stateful distributed applications using Orchestration pattern.
* Conductor helps you build applications that span across microservices, events such as Kafka, SQS, RabbitMQ, Serverless and Monolithic application code.
* Conductor is language, framework and cloud agnostic platform. Applications using Conductor orchestrates the business logic using Workflows.
## Setup Conductor Server

## Conductor Architecture
![Conductor Architecture](/img/architecture.png)
<details><summary>Use Conductor Playground</summary>
<p>
https://play.orkes.io is the easiest way to get started and provides fully features enterprise version of Conductor.

## Conductor Applications
Applications that leverages Conductor to build distributed stateful flows does it by creating Workflows and Tasks.
Using Playground requires authorization keys which you can generate easily by following the steps below:

1. Login to [https://play.orkes.io/](https://play.orkes.io/)
2. Navigate to __Applications__ from the left menu
3. Click __Create Application__ button to create a new application, give it a name
4. Open the newly created application
5. Click __Create Access Key__ to create the KEY and SECRET. A dialog box opens with newly generated Key and Secret.
6. __Important__: Copy and store the Key and Secret in a safe location. The secret is NEVER displayed again.

#### Setup environment variables
```shell
export KEY=<Your KEY>
export SECRET=<Your SECRET>
export CONDUCTOR_SERVER_URL=https://play.orkes.io/api
```
</p>
</details>

<details><summary>Install and Run Locally</summary>
<p>

#### Pre-requisites: `Docker`
Run the following command on the Unix, Linux or Mac OSX to download the container and start.
```shell
curl https://raw.githubusercontent.com/orkes-io/orkes-conductor-community/main/scripts/run_local.sh | sh
```

Alternatively, you can also run the container command explicitly:
```shell
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
```

#### Setup environment variables
```shell
export CONDUCTOR_SERVER_URL=http://localhost:8080/api
```

</p>
</details>


## Run your first Conductor Application
In this section, we will checkout an example application that creates and runs a simple 2-step workflow application.

<Tabs>
<TabItem value="Java" label="Java">

```shell
git clone https://github.com/conductor-sdk/java-sdk-examples
# Run the main program
./gradlew run

```
</TabItem>
<TabItem value="Golang" label="Golang">

```shell
git clone https://github.com/conductor-sdk/go-sdk-examples
# Run the main program
go run main.go
```
</TabItem>
<TabItem value="Python" label="Python">

```shell
git clone https://github.com/conductor-sdk/python-sdk-examples

# Create a virtual environment
python3 -m venv conductor
# Linux/OSX Activate the environment
source conductor/bin/activate
# Windows - Run the below command instead
# venv\Scripts\activate

# Install dependencies
python3 -m pip install -r requirements.txt

# Run the main program
cd examples/
python3 main.py

```
</TabItem>
<TabItem value="Javascript" label="Javascript">

```shell
git clone https://github.com/conductor-sdk/javascript-sdk-examples
yarn #To install dependencies.
yarn test #To run the test examples
```
</TabItem>
<TabItem value="CSharp" label="CSharp">

```shell
git clone https://github.com/conductor-sdk/csharp-sdk-examples
# Run the main program
dotnet run
```
</TabItem>
</Tabs>

You will see the console output with the workflow execution and link to the server to check the execution graph:

```shell
=======================================================================================
Async Workflow Execution Completed
Workflow Id: 38682137-a002-11ed-9147-36bbe4294242
Workflow Status: COMPLETED
Workflow Execution Flow UI: https://play.orkes.io/execution/38682137-a002-11ed-9147-36bbe4294242
=======================================================================================

=======================================================================================
Sync Workflow Execution Completed
Workflow Id: 38f2adc1-a002-11ed-89b1-f2f2ca2ac145
Workflow Execution Flow UI: https://play.orkes.io/execution/38f2adc1-a002-11ed-89b1-f2f2ca2ac145
=======================================================================================

```
:::info Creating Workflows
Conductor workflows can be defined using UI drag n' drop, using JSON configuration and in **code**
using the SDKs in Java, Golang, Python, C#, Typescript and Clojure.

We are constantly adding support for new languages with Rust and Kotlin coming soon.
:::

## > Next Steps

### Build a distributed application from scratch using Conductor
<DocCardList />
12 changes: 12 additions & 0 deletions docs/getting-started/java.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
sidebar_position: 0
---
# Java - Getting Started
Create a conductor application in Java from scratch

### Introduction
### Setup
### Application
### Create a workflow
### Write workers
### Execute workflow and workers
13 changes: 13 additions & 0 deletions docs/getting-started/javascript.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
sidebar_position: 4
---

# Javascript - Getting Started
Create a conductor application in Javascript from scratch

### Introduction
### Setup
### Application
### Create a workflow
### Write workers
### Execute workflow and workers
13 changes: 13 additions & 0 deletions docs/getting-started/python.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
sidebar_position: 2
---

# Python - Getting Started
Create a conductor application in Python from scratch

### Introduction
### Setup
### Application
### Create a workflow
### Write workers
### Execute workflow and workers
File renamed without changes.
File renamed without changes.
File renamed without changes.
10 changes: 8 additions & 2 deletions src/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,7 @@ h5 {
font-weight: 500;
}

p {
}

.menu {
background-color: #ffffff;
}
Expand Down Expand Up @@ -152,6 +151,9 @@ p {
font-weight: normal;
font-size: 0em;
}
.menu__caret:before {
height: 1.0rem;
}
[data-theme='dark'] .menu__link--sublist {
color: #e64769;
background: none;
Expand Down Expand Up @@ -369,4 +371,8 @@ img[alt="Conductor Architecture"] {

.pagination-nav__link {
border: none;
}

summary {
font-weight: bold;
}
2 changes: 1 addition & 1 deletion src/pages/_Sections.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ export const SDKList = ({}) => (
<a className={"aClass"} href={"https://github.com/conductor-sdk/conductor-clojure"} target={"_blank"}><img src="img/clojure.png" style={{ height: 75, width: 75, margin: 5}}/></a>
<h3 style={{ paddingTop:0 }}><a href="https://github.com/conductor-sdk">https://github.com/conductor-sdk</a></h3>
<a className={"aClass"} href={"https://join.slack.com/t/orkes-conductor/shared_invite/zt-xyxqyseb-YZ3hwwAgHJH97bsrYRnSZg"} target={"_blank"}>
<IconHeader icon={faSlack} header="Join us on Slack" />
<IconHeader icon={faSlack} header="Join us on Slack for realtime support from Orkes and Community" />
</a>
</div>
);
Expand Down
10 changes: 5 additions & 5 deletions src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,13 @@ export default function Home() {
title: "Core Concepts",
description:
"Core Concepts",
to: "/docs/getting-started",
to: "/docs/concepts",
},
{
title: "Getting Started",
description:
"Concepts and guide to building applications with Conductor",
to: "/docs/conductor",
to: "/docs/getting-started",
},
{
title: "API and SDK Docs",
Expand All @@ -77,12 +77,12 @@ export default function Home() {
{
title: "Workflow Scheduler",
description: "Specifications of various components",
to: "/docs/conductor/running/schedule",
to: "/docs/running/schedule",
},
{
title: "Eventing & Serverless",
description: "Specifications of various components",
to: "/docs/running/events",
to: "/docs/events",
},
{
title: "Access Control & Security",
Expand All @@ -97,7 +97,7 @@ export default function Home() {
]}
/>
<div className="row row--center">
<Link className={`button button--info button--lg ${styles.whiteFont}`} to="codelab">
<Link className={`button button--info button--lg ${styles.whiteFont}`} to="docs/codelab">
Ready to explore more? Checkout Codelabs and Samples
</Link>
</div>
Expand Down
Binary file added static/img/first_workflow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.