Skip to content

Commit

Permalink
feat(Vagrantfile): Add Vagrantfile for easy start
Browse files Browse the repository at this point in the history
  • Loading branch information
slawosz authored and Brandon Philips committed Mar 15, 2014
1 parent 79e4c83 commit 838a945
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
/machine*
/bin
/src
.vagrant
12 changes: 12 additions & 0 deletions Documentation/development-tools.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Development tools

## Vagrant

For fast start you can use Vagrant. `vagrant up` will make etcd build and running on virtual machine. Required Vagrant version is 1.5.0.

Next lets set a single key and then retrieve it:

```
curl -L http://127.0.0.1:4001/v2/keys/mykey -XPUT -d value="this is awesome"
curl -L http://127.0.0.1:4001/v2/keys/mykey
```
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,10 @@ _NOTE_: you need go 1.2+. Please check your installation with
go version
```

See the [development tools documentation][development-tools.md] for alternative build methods like using Vagrant.

[development-tools.md]: https://github.com/coreos/etcd/blob/master/Documentation/development-tools.md

### Running

First start a single machine cluster of etcd:
Expand Down
27 changes: 27 additions & 0 deletions Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
#
Vagrant.require_version '>= 1.5.0'
Vagrant.configure("2") do |config|
config.vm.box = "precise64"
config.vm.box_url = "http://files.vagrantup.com/precise64.box"

config.vm.network :forwarded_port, host: 4001, guest: 4001
config.vm.network :forwarded_port, host: 7001, guest: 7001

# Fix docker not being able to resolve private registry in VirtualBox
config.vm.provider :virtualbox do |vb, override|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end

config.vm.provision "docker" do |d|
d.build_image "/vagrant", args: '-t etcd'
d.run "etcd", args: "-p 4001:4001 -p 7001:7001", demonize: true
end

# plugin conflict
if Vagrant.has_plugin?("vagrant-vbguest")
config.vbguest.auto_update = false
end
end

0 comments on commit 838a945

Please sign in to comment.