• Stars
    star
    1,072
  • Rank 43,150 (Top 0.9 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 8 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Powerful workflow engine and end-to-end pipeline solutions implemented with native Kubernetes resources. https://cyclone.dev

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 ./manifests/cyclone-public

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.

More Repositories

1

tensorflow-tutorial

Example TensorFlow codes and Caicloud TensorFlow as a Service dev environment.
Jupyter Notebook
2,933
star
2

kube-ladder

Learning Kubernetes, The Chinese Taoist Way
2,492
star
3

nirvana

Golang Restful API Framework for Productivity
Go
520
star
4

mlsys-ladder

Learning Machine Learning, The Chinese Taoist Way
383
star
5

event_exporter

Exporter for kubernetes events
Go
320
star
6

loadbalancer-controller

Kubernetes loadbalancer controller to provision ingress controller dynamically
Go
95
star
7

tensorflow-demo

Local AI demo and distributed AI demo using TensorFlow
Jupyter Notebook
81
star
8

ciao

Kernel for Kubeflow in Jupyter Notebook
Go
67
star
9

learning-unit-testing-for-k8s-operator

学习如何为 Kubernetes Operators 进行单元测试 Learning How to Write Unit Tests for Kubernetes Operators
Go
58
star
10

golang-template-project

A template for starting new golang projects at Caicloud
Makefile
55
star
11

helm-registry

The helm registry to store and deliver charts (Deprecated since compass v2.9)
Go
35
star
12

charts

Curated kubernetes helm charts with well-defined structures
Smarty
24
star
13

aloe

Declarative API test framework based on ginkgo and gomega
Go
19
star
14

rudder

Application releases based on helm
Go
19
star
15

taas-examples

Deep learning examples using Caicloud TaaS (TensorFlow as a Service)
Python
17
star
16

canary-release

Canary release with helm (Deprecated since compass v2.8)
Go
13
star
17

kube-storage-monitor

Kubernetes Storage Monitor
Go
10
star
18

leader-election-example

This example demonstrates how to write high availability controller with GO.
Go
10
star
19

nirvana-practice

Get familiar with Nirvana in a practical way.
Go
4
star
20

rudder-client

Dynamic kubernetes client, chart render, resource status assistants for rudder
Go
4
star
21

hierarchy_exporter

Kubernetes hierarchy exporter for metric aggregation (Deprecated since compass v2.8)
Go
4
star
22

python-template-project

A template for starting new python projects at Caicloud
Dockerfile
3
star
23

web-template-project

A template for starting new web project at Caicloud
JavaScript
3
star
24

crd-sample

kubernetes CRD pattern tutorial and sample
1
star
25

kube-extended-resource

Kubernetes extended resource related components
1
star
26

cyclone-website

Source for the Cyclone website https://cyclone.dev
CSS
1
star