Quite Possibly Ambitious
Monk is a (brand spanking new) docker orchestration/cluster provisioner/code deploying system, written entirely in javascript / meteor.
Because everything else sucks (sorry if that offends you).
The goals of monk:
- Manageable from any machine
- Deployable from any machine
- Be distributed and self healing
- Simple to bootstrap, and fast
- As simple as pushing my code to deploy
- Multiple environments (such as staging/qa/production)
- rolling releases
- ANY code, any app
- Scalable, self healing, distributed data stores
- Galera for MySQL
- Hot standby/streaming replicaiton PostgreSQL
- Distributed fs available to the application
- etc...
- only HTTP/DNS interfaces to components
- Beautiful
- monk-roshi: A virtual machine that runs via vagrant, for the purpose of deploying and managing a cluster.
- monk-shami: Bootstraps a server, running in a datacenter cluster. Updates server on demand.
- monk-jushoku: Schudules app/server deployments, handles traffic routing as required.
- monk: front-end for monk-roshi, monk-shami, monk-jushoku.
- clone monk-roshi
- vagrant up
- visit http://localhost:9999
- follow the instructions in your browser
monk create my-app
- create's an app called my-app- cd my-app
- edit Dockerfile
- edit example config file
monk build v1.0
- builds the docker file, tags with v1.0monk register
- registers the application to monk's docker registry and sets configuration params- visit http://localhost:9999
- deploy the application to the cluster(s)
- set scaling, constraints, rolling deployments, etc.
- your app is running
Clone this repository, write some code, create a pull-request.