Skip to content
Powerful workflow engine and end-to-end pipeline solutions implemented with native Kubernetes resources. https://cyclone.dev
Go JavaScript Shell CSS Makefile Dockerfile Other
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github chore(docs): update PULL_REQUEST_TEMPLATE.md Aug 13, 2019
build feat: support matching files by find_options for http resource (#1405) Apr 9, 2020
cmd fix: init caches cleanup status (#1410) Apr 16, 2020
docs docs: update docs for cyclone crd (#1365) Jan 17, 2020
examples/cicd feat: support svn resource (#943) Apr 30, 2019
hack chore: normalize makefile (#1375) Feb 17, 2020
helm/cyclone feat: support artifact retention (#1408) Apr 15, 2020
manifests/templates/cicd feat(*): update helm chart for release v1.0 (#1362) Jan 7, 2020
pkg fix: process trivial stage cancellation (#1411) Apr 22, 2020
release feat: support artifact retention (#1408) Apr 15, 2020
tools/generator Update Golang and Kubernetes (#1394) Mar 10, 2020
vendor chore(*): bump gorilla websocket version to 1.4.2 (#1413) Apr 20, 2020
web fix: fix output-resource-path required validate (#1354) Dec 26, 2019
.dockerignore chores: update Makefile for deploy and undeploy (#745) Jan 23, 2019
.gitignore chore(*): ignore history folder (#1300) Oct 9, 2019
.golangci.yml refact(lint): use config file for golangci-lint and fix lint errors (#… Oct 8, 2019
.travis.yml Update Golang and Kubernetes (#1394) Mar 10, 2020
CHANGELOG.md docs: update CHANGELOG.md (#1363) Jan 7, 2020
CONTRIBUTING.md docs: fix git command error in CONTRIBUTING.md (#1154) Jun 24, 2019
LICENSE fix(309): keep the license itself untouched (#310) Jan 8, 2018
Makefile chore(golang): upgrade golang to 1.13.9 Apr 22, 2020
OWNERS chore(*): update owners (#685) Jan 3, 2019
README.md docs(readme): update invitation link of slack (#1291) Sep 30, 2019
go.mod chore(*): bump gorilla websocket version to 1.4.2 (#1413) Apr 20, 2020
go.sum chore(*): bump gorilla websocket version to 1.4.2 (#1413) Apr 20, 2020
nirvana.yaml refactor(server): refactor to support generating api docs from code (#… Jan 4, 2019
package-lock.json feat: implement overview page (#1079) Jun 1, 2019
yarn-error.log feat(resource): create/update resource in project (#1118) Jun 6, 2019

README.md

Cyclone

Build Status Go Report Card CII Best Practices 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 independent 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
  • Delegation Workload: Delegate some complicated stage to be executed in external systems, instead of Cyclone.

Quick Start

Cyclone has been tested with Kubernetes 1.12, 1.13 and 1.14.

Make sure Helm with a version higher than 2.10 is installed (install guide), then install Cyclone with:

$ helm install --name cyclone --namespace cyclone-system ./helm/cyclone

If you want to configure the installation or want to install from source code, please refer to Cyclone Install Guide.

Then you can access Cyclone with kubectl or Cyclone web (http://:30022).

Community

  • Slack: Join Cyclone Community for disscussions and posting questions. If you are not yet a member of Cyclone Slack, you may sign up here.

Aditional Tools

  • cycli Cyclone CLI interface

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.