👷 This is work in progress and many things are subject to change
A golang app created with
yo golang
.
This is a universe for Mesos, Marathon and Chronos in many different KVs. We currently use etcd, but we use libkv and there do support many more KVs.
You can find a full documentation of the API in /docs
or here.
We support config files, Environment variables and config parameters for moppi
.
This is an example (moppi.yml
) config
verbose: true
etcd:
prefix: "/moppi"
endpoint: "localhost:2379"
chronos: "https://localhost:8181/"
marathon: "https://localhost:8080
Displays the available options for moppi
.
Does initializes a KV for moppi.
Each package has its own directory, with subdirectories for package revisions. Their package folder contains various files describing how to install, uninstall and configure it.
Your universe is best kept in a Git to have revisions
A universe has the following folder structure.
└── packages/F/foo
├── 0
│ ├── install.json
│ ├── uninstall.json
│ ├── marathon.json
│ ├── package.json
├── 1
│ ├── install.json
│ ├── uninstall.json
│ ├── marathon.json
│ ├── package.json
└── ...
All meta information about a universe must also be stored within.
└── meta
├── version.json
└── ...
Contains general information about a package when published.
Contains all information necessary to install this package.
Contains all information necessary to uninstall this package.
we currently support Marathon up to
1.4.x
, but working hard to move to1.5.x
When using Marathon to run long standing task on Mesos this config contains the description of such. Please, consult the Marathon Docs as how to write such config.
When using Chronos to run scheduled task, you can provide a config for it within your package. It is then applied in the installation process.
You find the example data in examples/
. etcd import is a s simple as PUT
ing the relevant JSON in the KV.
curl http://127.0.0.1:2379/v2/keys/moppi/universes/dev/packages/example/1/uninstall -XPUT -d value="$(cat marathon.json)"
Install neat tools and dependencies.
make deps && make restore
Build the app.
make build