Your friendly orchestration overlay over Mesos, K8S and more !
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
examples
ochopod
resources/supervisor
.gitignore
.travis.yml
CONTRIBUTING.md
Dockerfile
LICENSE
README.md
ez_setup.py
setup.py

README.md

Ochopod

Join the chat at https://gitter.im/autodesk-cloud/ochopod

Build Status

Overview

This project is a small Python package you can use to boot your Docker containers. It is by default configured to interface with Apache Mesos and its Marathon framework but could easily be extended to run off Kubernetes and the like.

What does it do ?

Ochopod coordinates how a given family of containers should cluster together at run-time. It transparently manages dependencies and port remapping as well. In short you effectively apply an overlay to your provisioning stack that enables you to do more ! It is a mix between an init system and a distributed discovery mechanism.

Ochopod internally relies on Apache Zookeeper for synchronization and metadata storage.

Ochopod + Mesos + Marathon + CLI == PaaS

Please have a look at our Ochothon stack and see how we built a quick PaaS on top of Marathon including a comprehensive tool suite, a cool web-shell, a tiny CLI and more !

Both a manual package install and the spiffy DCOS deployments from Mesosphere have been tested. We also tested it on the cool Mantl.io project.

How is it different ?

The DIY PaaS market is filled with interesting offers and every company has its own take on how to do things. Now Ochopod is different when it comes to clustering and idempotency. Our general goal is to remain non opiniated (and lightweight) but yet allow for watertight orchestration. Our finite state machine design coupled to Zookeeper is quite unique.

Your base image

In case you had not noticed you can build this repo as a Docker image ! This will give you a basic Ubuntu container that includes our code, Python 2.7 and the handy supervisor package. We run supervisor as PID 1 and set it up to listen on TCP 8081 (not exposed).

You can find it on the Docker hub as the autodeskcloud/pod image (tagged with release numbers).

Documentation

You can peruse our online documentation for examples, design notes, API docs and more !

The Sphinx materials can be found under docs/. Just go in there and build for your favorite target, for instance:

$ cd docs
$ make html

The docs will be written to _docs/build/html. This is all Sphinx based and you have many options and knobs to tweak should you want to customize the output.

Support

Contact autodesk.cloud.opensource@autodesk.com for more information about this project.

License

© 2015 Autodesk Inc. All rights reserved

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.