Skip to content
This repository was archived by the owner on Dec 13, 2023. It is now read-only.

Commit b78ce49

Browse files
authored
Update logo in README and Swagger UI (#2990)
Also remove duplicated content in README.
1 parent 4fc986d commit b78ce49

File tree

11 files changed

+91
-217
lines changed

11 files changed

+91
-217
lines changed

CONTRIBUTING.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[Code of Conduct](docs/docs/resources/contributing.md)
1+
[Contributing](docs/docs/resources/contributing.md)

README.md

+12-37
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1-
![Conductor](docs/docs/img/conductor-vector-x.png)
1+
![Conductor](docs/docs/img/logo.png)
22

3-
4-
## Conductor
5-
Conductor is a _workflow orchestration_ engine that runs in the cloud.
3+
# Conductor
4+
Conductor is a platform created by Netflix to orchestrate workflows that span across microservices.
65

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

11+
12+
## Documentation
13+
[Main Documentation Site](http://conductor.netflix.com/)
14+
1215
## Releases
1316
The latest version is [![Github release](https://img.shields.io/github/v/release/Netflix/conductor.svg)](https://GitHub.com/Netflix/conductor/releases)
1417

@@ -19,43 +22,15 @@ The modules contributed by the community are housed at [conductor-community](htt
1922

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

22-
[Access here other Conductor related projects made by the community!](/RELATED.md) - Backup tool, Cron like workflow starter, Docker containers...
25+
[List of Conductor community projects](/docs/docs/resources/related.md) - Backup tool, Cron like workflow starter, Docker containers...
2326

2427
## Getting Started - Building & Running Conductor
2528
### Docker
26-
The easiest way to get started is with Docker containers. Please follow the instructions [here](https://github.com/Netflix/conductor/tree/main/docker). The server and UI can also be built from source separately.
27-
28-
### Conductor Server From Source
29-
Conductor Server is a [Spring Boot](https://spring.io/projects/spring-boot) project and follows all applicable conventions. First, ensure that Java JDK 11+ is installed.
30-
31-
#### Development
32-
The server can be started locally by running `./gradlew bootRun` from the project root. This will start up Conductor with an in-memory persistence and queue implementation. It is not recommended for production use but can come in handy for quickly evaluating what Conductor's all about. For actual production use-cases, please use one of the supported persistence and queue implementations.
33-
34-
You can verify the development server is up by navigating to `http://localhost:8080` in a browser.
35-
36-
#### Production Build
37-
Running `./gradlew build` from the project root builds the project into the `/build` directory. Note that Docker is a requirement for tests to run, and thus a requirement to build even if you are building
38-
outside of a Docker container. If you do not have Docker installed you can run `./gradlew build -x test` to skip tests.
29+
The easiest way to get started is with Docker containers. Please follow the instructions [here](https://conductor.netflix.com/gettingstarted/docker.html).
3930

31+
### From Source
32+
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).
4033

41-
#### Pre-built JAR
42-
A [pre-built](https://artifacts.netflix.net/netflixoss/com/netflix/conductor/conductor-server/) executable jar is available that can be downloaded and run using:
43-
44-
`java -jar conductor-server-*-boot.jar`
45-
46-
### Conductor UI from Source
47-
48-
The UI is a standard `create-react-app` React Single Page Application (SPA). To get started, with Node 14 and `yarn` installed, first run `yarn install` from within the `/ui` directory to retrieve package dependencies.
49-
50-
There is no need to "build" the project unless you require compiled assets to host on a production web server. If the latter is true, the project can be built with the command `yarn build`.
51-
52-
To run the UI on the bundled development server, run `yarn run start`. Navigate your browser to `http://localhost:5000`. The server must already be running on port 8080.
53-
54-
55-
## Documentation
56-
[Documentation](http://netflix.github.io/conductor/)
57-
[Roadmap](https://github.com/Netflix/conductor/wiki/Roadmap)
58-
[Getting Started Guide](https://netflix.github.io/conductor/gettingstarted/basicconcepts/).
5934

6035
## Published Artifacts
6136
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).
@@ -93,7 +68,7 @@ Binaries are available from [Netflix OSS Maven](https://artifacts.netflix.net/ne
9368
* UI requires Node 14 to build. Earlier Node versions may work but is untested.
9469

9570
## Get Support
96-
Conductor is maintained by Media Workflow Infrastructure team at Netflix. Use github issue tracking for filing issues and [Discussion Forum](https://github.com/Netflix/conductor/discussions) for any other questions, ideas or support requests.
71+
Conductor is maintained by Media Workflow Infrastructure team at Netflix. Use Github issue tracking for filing issues and [Discussion Forum](https://github.com/Netflix/conductor/discussions) for any other questions, ideas or support requests.
9772

9873
## Contributions
9974
Whether it is a small documentation correction, bug fix or new features, contributions are highly appreciated. We just ask to follow standard oss guidelines. [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 later that someone else is already working on a similar feature.

annotations-processor/README.md

+1-33
Original file line numberDiff line numberDiff line change
@@ -1,33 +1 @@
1-
# Annotation Processor for Code Gen
2-
3-
- Original Author: Vicent Martí - https://github.com/vmg
4-
- Original Repo: https://github.com/vmg/protogen
5-
6-
This module is strictly for code generation tasks during builds based on annotations.
7-
Currently supports `protogen`
8-
9-
### Usage
10-
11-
See example below
12-
13-
### Example
14-
15-
This is an actual example of this module which is implemented in common/build.gradle
16-
17-
```groovy
18-
task protogen(dependsOn: jar, type: JavaExec) {
19-
classpath configurations.annotationsProcessorCodegen
20-
main = 'com.netflix.conductor.annotationsprocessor.protogen.ProtoGenTask'
21-
args(
22-
"conductor.proto",
23-
"com.netflix.conductor.proto",
24-
"github.com/netflix/conductor/client/gogrpc/conductor/model",
25-
"${rootDir}/grpc/src/main/proto",
26-
"${rootDir}/grpc/src/main/java/com/netflix/conductor/grpc",
27-
"com.netflix.conductor.grpc",
28-
jar.archivePath,
29-
"com.netflix.conductor.common",
30-
)
31-
}
32-
```
33-
1+
[Annotations Processor](docs/docs/reference-docs/annotations-processor.md)

docker/README.md

+1-96
Original file line numberDiff line numberDiff line change
@@ -1,96 +1 @@
1-
# Docker
2-
## Getting Started with Docker Compose
3-
The easiest way to start experimenting with Conductor is via `docker-compose`.
4-
```
5-
cd docker
6-
docker-compose build
7-
docker-compose up
8-
```
9-
10-
This default docker compose build establishes 3 services each running in its own container
11-
* Elasticsearch
12-
* Conductor Server
13-
* Conductor UI
14-
15-
The UI can be accessed by pointing your browser to `http://localhost:5000/`
16-
The Server API is accessible at `http://localhost:8080/`
17-
18-
### Alternative Persistence Engines
19-
By default `docker-compose.yaml` uses `config-local.properties`. This configures the `memory` database, where data is lost when the server terminates. This configuration is useful for testing or demo only.
20-
21-
A selection of `docker-compose-*.yaml` and `config-*.properties` files are provided demonstrating the use of alternative persistence engines.
22-
23-
For example this will start the server instance backed by a PostgreSQL DB.
24-
```
25-
docker-compose -f docker-compose.yaml -f docker-compose-postgres.yaml up
26-
```
27-
28-
### Exiting Compose
29-
`Ctrl+c` will exit docker compose.
30-
31-
To ensure images are stopped execute: `docker-compose down`.
32-
33-
## Standalone Server Image
34-
To build and run the server image, without using `docker-compose`, from the `docker` directory execute:
35-
```
36-
docker build -t conductor:server -f server/Dockerfile ../
37-
docker run -p 8080:8080 -d --name conductor_server conductor:server
38-
```
39-
This builds the image `conductor:server` and runs it in a container named `conductor_server`. The API should now be accessible at `localhost:8080`.
40-
41-
To 'login' to the running container, use the command:
42-
```
43-
docker exec -it conductor_server /bin/sh
44-
```
45-
46-
## Standalone UI Image
47-
From the `docker` directory,
48-
```
49-
docker build -t conductor:ui -f ui/Dockerfile ../
50-
docker run -p 5000:5000 -d --name conductor_ui conductor:ui
51-
```
52-
This builds the image `conductor:ui` and runs it in a container named `conductor_ui`. The UI should now be accessible at `localhost:5000`.
53-
54-
### Note
55-
* In order for the UI to do anything useful the Conductor Server must already be running on port 8080, either in a Docker container (see above), or running directly in the local JRE.
56-
* Additionally, significant parts of the UI will not be functional without Elastisearch being available. Using the `docker-compose` approach alleviates these considerations.
57-
58-
## Monitoring with Prometheus
59-
60-
Start Prometheus with:
61-
`docker-compose -f docker-compose-prometheus.yaml up -d`
62-
63-
Go to [http://127.0.0.1:9090](http://127.0.0.1:9090).
64-
65-
66-
## Potential problem when using Docker Images
67-
68-
#### Elasticsearch timeout
69-
Standalone(single node) elasticsearch has a yellow status which will cause timeout for conductor server (Required: Green).
70-
Spin up a cluster (more than one) to prevent timeout or use config option `conductor.elasticsearch.clusteHealthColor=yellow`.
71-
72-
See issue: https://github.com/Netflix/conductor/issues/2262
73-
74-
#### Changes in config-*.properties do not take effect
75-
Config is copy into image during docker build. You have to rebuild the image or better, link a volume to it to reflect new changes.
76-
77-
#### To troubleshoot a failed startup
78-
Check the log of the server, which is located at `/app/logs` (default directory in dockerfile)
79-
80-
#### Unable to access to conductor:server API on port 8080
81-
It may takes some time for conductor server to start. Please check server log for potential error.
82-
83-
#### Elasticsearch
84-
Elasticsearch is optional, please be aware that disable it will make most of the conductor UI not functional.
85-
86-
##### How to enable Elasticsearch
87-
* Set `workflow.indexing.enabled=true` in your_config.properties
88-
* Add config related to elasticsearch
89-
E.g.: `conductor.elasticsearch.url=http://es:9200`
90-
91-
##### How to disable Elasticsearch
92-
* Set `workflow.indexing.enabled=false` in your_config.properties
93-
* Comment out all the config related to elasticsearch
94-
E.g.: `conductor.elasticsearch.url=http://es:9200`
95-
96-
1+
[Docker Instructions](/docs/docs/gettingstarted/docker.md)

docs/custom_theme/main.html

-7
This file was deleted.

docs/docs/gettingstarted/docker.md

+39-16
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11

2-
# Running via Docker Compose
2+
# Running Conductor using Docker
33

44
In this article we will explore how you can set up Netflix Conductor on your local machine using Docker compose.
55
The docker compose will bring up the following:
6+
67
1. Conductor API Server
78
2. Conductor UI
89
3. Elasticsearch for searching workflows
@@ -13,29 +14,21 @@ The docker compose will bring up the following:
1314

1415
## Steps
1516

16-
#### 1. Clone the Conductor Code
17+
### 1. Clone the Conductor Code
1718

1819
```shell
1920
$ git clone https://github.com/Netflix/conductor.git
2021
```
2122

22-
#### 2. Build the Docker Compose
23+
### 2. Build the Docker Compose
2324

2425
```shell
2526
$ cd conductor
2627
conductor $ cd docker
2728
docker $ docker-compose build
2829
```
29-
#### Note: Conductor supplies multiple docker compose templates that can be used with different configurations:
30-
31-
| File | Containers |
32-
|--------------------------------|-----------------------------------------------------------------------------------------|
33-
| docker-compose.yaml | 1. In Memory Conductor Server 2. Elasticsearch 3. UI |
34-
| docker-compose-dynomite.yaml | 1. In Memory Conductor Server 2. Elasticsearch 3. UI 4. Dynomite Redis for persistence |
35-
| docker-compose-postgres.yaml | 1. In Memory Conductor Server 2. Elasticsearch 3. UI 4. Postgres persistence |
36-
| docker-compose-prometheus.yaml | Brings up Prometheus server |
3730

38-
#### 3. Run Docker Compose
31+
### 3. Run Docker Compose
3932

4033
```shell
4134
docker $ docker-compose up
@@ -47,22 +40,41 @@ Once up and running, you will see the following in your Docker dashboard:
4740
2. Conductor UI
4841
3. Conductor Server
4942

50-
You can access all three on your browser to verify that it is running correctly:
43+
You can access the UI & Server on your browser to verify that they are running correctly:
5144

52-
Conductor Server URL: [http://localhost:8080/swagger-ui/index.html?configUrl=/api-docs/swagger-config](http://localhost:8080/swagger-ui/index.html?configUrl=/api-docs/swagger-config)
45+
#### Conductor Server URL
46+
[http://localhost:8080](http://localhost:8080)
5347

5448
<img src="/img/tutorial/swagger.png" style="width: 100%"/>
5549

56-
Conductor UI URL: [http://localhost:5000/](http://localhost:5000/)
50+
#### Conductor UI URL
51+
[http://localhost:5000/](http://localhost:5000)
5752

5853
<img src="/img/tutorial/conductorUI.png" style="width: 100%" />
5954

6055

61-
### Exiting Compose
56+
### 4. Exiting Compose
6257
`Ctrl+c` will exit docker compose.
6358

6459
To ensure images are stopped execute: `docker-compose down`.
6560

61+
## Alternative Persistence Engines
62+
By default `docker-compose.yaml` uses `config-local.properties`. This configures the `memory` database, where data is lost when the server terminates. This configuration is useful for testing or demo only.
63+
64+
A selection of `docker-compose-*.yaml` and `config-*.properties` files are provided demonstrating the use of alternative persistence engines.
65+
66+
| File | Containers |
67+
|--------------------------------|-----------------------------------------------------------------------------------------|
68+
| docker-compose.yaml | <ol><li>In Memory Conductor Server</li><li>Elasticsearch</li><li>UI</li></ol> |
69+
| docker-compose-dynomite.yaml | <ol><li>Conductor Server</li><li>Elasticsearch</li><li>UI</li><li>Dynomite Redis for persistence</li></ol> |
70+
| docker-compose-postgres.yaml | <ol><li>Conductor Server</li><li>Elasticsearch</li><li>UI</li><li>Postgres persistence</li></ol> |
71+
| docker-compose-prometheus.yaml | Brings up Prometheus server |
72+
73+
For example this will start the server instance backed by a PostgreSQL DB.
74+
```
75+
docker-compose -f docker-compose.yaml -f docker-compose-postgres.yaml up
76+
```
77+
6678
## Standalone Server Image
6779
To build and run the server image, without using `docker-compose`, from the `docker` directory execute:
6880
```
@@ -95,6 +107,17 @@ Start Prometheus with:
95107

96108
Go to [http://127.0.0.1:9090](http://127.0.0.1:9090).
97109

110+
## Combined Server & UI Docker Image
111+
This image at `/docker/serverAndUI` is provided to illustrate starting both the server & UI within the same container. The UI is hosted using nginx.
112+
113+
### Building the image
114+
`docker build -t conductor:serverAndUI .`
115+
116+
##$ Running the conductor server
117+
- Standalone server (interal DB): `docker run -p 8080:8080 -p 80:5000 -d -t conductor:serverAndUI`
118+
- Server (external DB required): `docker run -p 8080:8080 -p 80:5000 -d -t -e "CONFIG_PROP=config.properties" conductor:serverAndUI`
119+
120+
98121

99122
## Potential problem when using Docker Images
100123

0 commit comments

Comments
 (0)