Skip to content
This repository was archived by the owner on Aug 23, 2022. It is now read-only.

praekeltfoundation/seed-stack

Repository files navigation

Seed Stack

Install Vagrant and then:

$ git clone git://github.com/praekelt/seed-stack.git
$ cd seed-stack
$ vagrant plugin install vagrant-hostmanager
$ vagrant up standalone boot

This will result in a stack running:

  1. Zookeeper
  2. Mesos Master
  3. Mesos Slave
  4. Marathon
  5. Docker
  6. Docker Registry
  7. Consul
  8. Consular
  9. Consul-Template
  10. Nginx
  11. Mission Control

All of this is installed and configured using Puppet. For more information, see the Puppet README.

The available VMs defined in the Vagrantfile are as follows: - standalone - a Seed Stack combination controller/worker with a Docker

Registry and load-balancer
  • controller - a Seed Stack controller with a load-balancer
  • worker - a Seed Stack worker with a Docker Registry
  • boot - a bootstrap machine Puppet server used for provisioning other VMs (must be provisioned last)

You can probably run the standalone VM and controller/worker VMs at the same time, but there shouldn't be any need to do so.

Once running, you can manually launch the sample python-server application through marathon:

$ curl -XPOST \
    -d @python-server.json \
    -H 'Content-Type: application/json' \
    http://standalone.seed-stack.local:8080/v2/apps

You can watch the deployment progress in the Marathon web UI (see below). Deploying for the first time on a newly provisioned VM may take a while because it has to download the docker image first.

Then you should be able to use the application in your web browser at http://python-server.192.168.55.9.xip.io

(For the controller/worker setup, use controller.seed-stack.local and 192.168.55.11 instead.)

The following services are available on the standalone or controller VM:

Marathon
http://standalone.seed-stack.local:8080
Mesos
http://standalone.seed-stack.local:5050
Consul
http://standalone.seed-stack.local:8500/ui/
Mission Control (log in with admin/pass)
http://mc2.infr.standalone.seed-stack.local

In order to access apps running in Mission Control, you may need to add /etc/hosts entries for their domains.

Acknowledgements

The vagrant plugin used for provisioning with a bootstrap machine is heavily inspired by the one in https://github.com/dcos/dcos-vagrant

About

A Vagrantfile that provisions a VirtualBox for our Seed Stack

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •