close
The Wayback Machine - https://web.archive.org/web/20190322172014/https://github.com/caicloud/cyclone
Skip to content
Image
Please note that GitHub no longer supports Internet Explorer.

We recommend upgrading to the latest Microsoft Edge, Google Chrome, or Firefox.

Learn more
Powerful workflow engine and end-to-end pipeline solutions implemented with native Kubernetes resources
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Image .github chore(*): update pr template (#828) Mar 10, 2019
Image build feat: add CD image for update deployment (#836) Mar 15, 2019
Image cmd
Image docs
Image examples/cicd
Image hack/boilerplate
Image manifests fix: escape argument value (#851) Mar 20, 2019
Image pkg fix: event recorded in wfr (#855) Mar 22, 2019
Image release feat: support ref value of stage parameters (#840) Mar 15, 2019
Image tools/generator Basic workflow controller (#606) Jan 3, 2019
Image vendor feat(server): generate and check scm token (#853) Mar 21, 2019
Image web
Image .dockerignore
Image .gitignore
Image .gometalinter.json
Image .travis.yml
Image CONTRIBUTING.md docs: update CONTRIBUTING docs to add go lint (#732) Jan 15, 2019
Image Gopkg.lock feat(server): generate and check scm token (#853) Mar 21, 2019
Image Gopkg.toml
Image LICENSE fix(309): keep the license itself untouched (#310) Jan 8, 2018
Image Makefile
Image OWNERS
Image README.md correct some nits Feb 14, 2019
Image nirvana.yaml

README.md

Cyclone

Image

Build Status Go Report Card Coverage Status GoDoc License

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 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 is possible to expand to more use cases as well.

With Cyclone, users end up with the flexibility of workflow orchestration and the usability of complete CI/CD and AI Devops solutions.

Features

  • DAG graph scheduling: Cyclone supports DAG workflow execution
  • Parameterization: stage (unit of execution) can be parameterized to maximize configuration reuse
  • External integration: 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-tenancy: resource manifests and workflow executions are grouped and isolated per tenant
  • Garbage 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 for both regular software and AI development

Quick Start

Build and push images: <registry>/<project> specifies the registry and project where to push your images, for example, test.caicloudprivatetest.com/release.

$ docker login <registry> -u <user> -p <pwd>
$ make push REGISTRIES=<registry>/<project>

Deploy to Kubernetes cluster: Please make sure kubectl is installed and appropriately configured. Here AUTH is the credential to the docker registry. PVC is a PersistentVolumeClaim that needs to be prepared in k8s.

$ make deploy REGISTRIES=<registry>/<project> AUTH=<user>:<pwd> PVC=<pvc>

Run CI/CD workflow examples: SCENE determines what kind of examples to run, for the moment, only cicd is supported.

$ make run_examples SCENE=cicd REGISTRIES=<registry>/<project>

Community

Roadmap

Cyclone Roadmap

Contributing

If you are interested in contributing to Cyclone, please checkout CONTRIBUTING.md. We welcome any code or non-code contribution!

Licensing

Cyclone is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

You can’t perform that action at this time.