diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 16a98dc44..5e8fbb2ec 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -45,7 +45,7 @@ Checkout a feature branch $ git checkout -b my_feature ``` -Add your commits, +Add your commits, ``` $ git commit -a -s -m "Implement an awesome feature" ``` @@ -67,4 +67,4 @@ Cyclone is written with Golang, before you commit your code, please check [Golan ### Javascript -Cyclone's web UI is developed with React, Ant Design, please read [Airbnb Javascript Style Guide](https://github.com/airbnb/javascript) if you want to contribute to frontend. Cyclone also makes use of linter tools like Prettier, ESLint, Lint-staged to enforce its code quality. \ No newline at end of file +Cyclone's web UI is developed with React, Ant Design, please read [Airbnb Javascript Style Guide](https://github.com/airbnb/javascript) if you want to contribute to frontend. Cyclone also makes use of linter tools like Prettier, ESLint, Lint-staged to enforce its code quality. diff --git a/README.md b/README.md index 1af6f7820..92773461f 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,57 @@ # Cyclone -

-
- cyclone -
-
-

+

-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.