Skip to content
/ ciao Public
forked from ciao-project/ciao

Ciao - Cloud Integrated Advanced Orchestrator

License

Notifications You must be signed in to change notification settings

sboeuf/ciao

This branch is 600 commits behind ciao-project/ciao:master.

Folders and files

NameName
Last commit message
Last commit date
Jul 11, 2017
Jul 11, 2017
Aug 9, 2017
Aug 9, 2017
Jul 19, 2017
Aug 10, 2017
Aug 9, 2017
Jul 19, 2017
Jul 13, 2017
Aug 9, 2017
May 9, 2017
Nov 15, 2016
Dec 7, 2016
Jul 13, 2017
Jun 10, 2016
Mar 9, 2017
Jul 13, 2017
Jul 21, 2017
Aug 11, 2017
Jul 19, 2017
Jul 19, 2017
May 18, 2017
Jul 11, 2017
Aug 8, 2017
Mar 9, 2017
Aug 9, 2017
Apr 4, 2017
Feb 14, 2017
Jul 21, 2017
Aug 9, 2017
Jan 11, 2017
Jul 13, 2017
Mar 17, 2017
Apr 8, 2016
Jul 19, 2017
Jul 13, 2017
Aug 9, 2017

Repository files navigation

#Ciao Project

Go Report Card Build Status Coverage Status GoDoc Stories in Ready

Ciao is the "Cloud Integrated Advanced Orchestrator". Its goal is to provide an easy to deploy, secure, scalable cloud orchestration system which handles virtual machines, containers, and bare metal apps agnostically as generic workloads. Implemented in the Go language, it separates logic into "controller", "scheduler" and "launcher" components which communicate over the "Simple and Secure Node Transfer Protocol (SSNTP)".

Controller is responsible for policy choices around tenant workloads.

Scheduler implements a "push/pull" scheduling algorithm. In response to a controller approved workload instance arriving at the scheduler, it finds a first fit among cluster compute nodes currently requesting work.

Launcher abstracts the specific launching details for the different workload types (eg: virtual machine, container, bare metal). Launcher reports compute node statistics to the scheduler and controller. It also reports per-instance statistics up to controller.

An additional set of componentry provides ciao network connectivity for workload instances and insures tenant isolation. Workloads (whether container or VM) are automatically placed in a unified L2 network, one such network per tenant.

A cli and webui are available.

All ciao components communicate with each other via SSNTP using a set of payloads.

This GitHub repository contains documentation on the various sub-components of ciao in their respective subdirectories.

If you would like to contribute to ciao, check our Contributing guide. There's a wiki page that illustrates how to easily setup a development environment without needing a cluster. We also recommend taking a look at the 'janitorial' bugs in our list of open issues as these bugs can be solved without an extensive knowledge of ciao. We would love to help you start contributing!

The ciao development team can be reached via our mailing list and on IRC in channel #ciao-project on Freenode.

About

Ciao - Cloud Integrated Advanced Orchestrator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.9%
  • Python 2.1%
  • Shell 2.0%