frenzy

module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 24, 2014 License: MIT

README

frenzy

Experimental Vagrant clone written in Go and using Docker instead of VBox.

Why?

Vagrant is an awesome tool but because it's using VMs it's quite slow. If you use it to, for example, test your Chef cookbooks (my case), you quickly loose a lot of time during the day, waiting. So I wondered if I could build something that would do the same job but using containers instead of VMs.

I could have use docker-provider or even vagrant-lxc but to be honest I also wanted to have some fun :)

Keep in mind this is experimental so things will probably break, and you can't do much yet.

Usage

$ frenzy up
[docker] up frenzy01
[docker] up frenzy02
[frenzy01] Running inline SSH provisioner
[frenzy02] Running inline SSH provisioner
[frenzy01] Hello World
[frenzy01] Mon Mar 24 15:48:19 UTC 2014
[frenzy01] Running inline SSH provisioner
[frenzy01] This comes from another provisioner
[frenzy02] Hello World
[frenzy02] Mon Mar 24 15:48:20 UTC 2014
[frenzy02] Running inline SSH provisioner
[frenzy02] This comes from another provisioner
$ frenzy status
HOSTNAME  STATUS   CONTAINER ID  PORT
frenzy01  running  0dddebd56caa  49167
frenzy02  running  59ca6e6c00d2  49166
$ frenzy destroy
[docker] destroying frenzy01, id: 0dddebd56caa
[docker] destroying frenzy02, id: 59ca6e6c00d2

Install

From source
$ go get github.com/stevedomin/frenzy
$ cd $GOPATH/src/github.com/stevedomin/frenzy/frenzy
$ go install
Binary releases

For now you'll have to build it yourself.

Requirements

OS X
$ # Install [boot2docker](https://github.com/boot2docker/boot2docker)
$
$ # Forward VM port range that Docker uses to host
$ for i in {49000..49900}; do
$   VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port$i,tcp,,$i,,$i";
$   VBoxManage modifyvm "boot2docker-vm" --natpf1 "udp-port$i,udp,,$i,,$i";
$ done
Linux

Make sure you have Docker installed

Known caveats

  • You need to be able to execute docker commands without sudo

TODO

  • Some testing would be good :)
  • Move to Docker API instead of Docker CLI
  • In progress: Stop command (commit container with image name == node name)
  • In progress: Chef provisioner
  • Better logging (colored output would be nice)
  • Support for volumes
  • More networking options

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL