Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* chore: update README * update per comment
- Loading branch information
1 parent
315fb77
commit 5ebdbc7
Showing
2 changed files
with
31 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,57 @@ | ||
# Cyclone | ||
|
||
<h1 align="center"> | ||
<br> | ||
<img width="400" src="docs/images/logo.jpeg" alt="cyclone"> | ||
<br> | ||
<br> | ||
</h1> | ||
<p align="center"><img src="docs/images/logo.jpeg" width="200"></p> | ||
|
||
Cyclone is a cloud native workflow engine not only for CI/CD pipelines, but also for general workflows. It defines workflow by assembling workflow stages as DAG. As Cyclone totally bases on Kubernetes, it can be easily deployed and used. | ||
Cyclone is a powerful workflow engine and end-to-end pipeline solution implemented with native Kubernetes resources, | ||
with no extra dependencies. It can run anywhere Kubernetes is deployed: public cloud, on-prem or hybrid cloud. | ||
|
||
Cyclone defines each workflow stage as a pod, and assemble them to workflow by capturing dependencies between stages as DAG. | ||
Cyclone is architectured with a low-level workflow engine that is application agnostic, offering capabilities like | ||
workflow DAG scheduling, resource lifecycle management and most importantly, a pluggable and extensible framework for | ||
extending the core APIs. Above which, Cyclone provides built-in support for high-level functionalities, with CI/CD | ||
pipelines and AI DevOps being two notable examples, and it's possible expand to more use cases as well. | ||
|
||
With Cyclone, users end up with the flexibility of workflow orchestration and the usability of complete solutions. | ||
|
||
## Features | ||
- **Kubernetes Native**: Totally based on Kubernetes without any other dependencies.. | ||
- **Workflow Engine**: Supports CI/CD pipelines, AI pipelines and any other general workflows. | ||
- **DAG**: Cyclone supports any DAG workflow. | ||
- **Pluggability**: Cyclone can easily integrate with external systems, such as SCM, Docker Registry, S3, etc. | ||
- **Triggers**: Workflow can be triggered by time schedule, webhooks. | ||
- **Controllable**: Execution of workflow can be paused, resumed or cancelled. | ||
- **Multi-Tenant**: Cyclone supports multi-tenant. | ||
- **Garbadge Collection**: Cleanup after workflow finished and results collected. | ||
|
||
- DAG graph scheduling: Cyclone supports DAG workflow execution | ||
- Parameterization: stage (unit of execution) can be parameterized to maximize configuration reuse | ||
- External dependencies: external systems like SCM, docker registry, S3 can be easily integrated with Cyclone | ||
- Triggers: Cyclone supports cron and webhook trigger today, with upcoming support for other types of triggers | ||
- Controllability: workflow execution can be paused, resumed, retried or cancelled | ||
- Multi-cluster: workflow can be executed in different clusters from where Cyclone is running | ||
- Multi-tenant: resources manifests and workflow executions are grouped and isolated per tenant | ||
- Garbadge Collection: automatic resource cleanup after workflow execution | ||
- Logging: logs are persisted and indpendent from workflow lifecycle, enabling offline inspection | ||
- Built-in Pipeline: curated DAG templates and stage runtimes for running DevOps pipelines | ||
|
||
## Quick Start | ||
|
||
Build images | ||
|
||
```bash | ||
$ make container | ||
``` | ||
|
||
Deploy to Kubernetes cluster | ||
|
||
```bash | ||
$ kubectl create -f manifests/cyclone.yaml | ||
``` | ||
|
||
## Community | ||
|
||
- **Slack**: Join [Cyclone Community](https://caicloud-cyclone.slack.com/join/signup) for disscussions and ask questions. | ||
- **Slack**: Join [Cyclone Community](https://caicloud-cyclone.slack.com/join/signup) for disscussions and posting questions. | ||
|
||
## Roadmap | ||
|
||
[Cyclone Roadmap](./docs/ROADMAP.md) | ||
|
||
## History | ||
## Contributing | ||
|
||
If you are interested in contributing to Cyclone, please checkout [CONTRIBUTING.md](./CONTRIBUTING.md). | ||
We welcome any code or non-code contribution! | ||
|
||
Before v0.9.0, Cyclone focuses on CI/CD pipelines and run pipelines in both Docker and Kubernetes. | ||
## Licensing | ||
|
||
From v0.9.0, Cyclone has been totally refactored, new Cyclone not only aims at CI/CD pipeline, but also provides a general workflow engine. Compared with previous one, it's more flexible and powerful. | ||
Cyclone is licensed under the Apache License, Version 2.0. See [LICENSE](./LICENSE) for the full license text. |