vagrant-shell 0.2.5 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- vagrant-shell (0.2.4)
4
+ vagrant-shell (0.2.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/Makefile CHANGED
@@ -6,5 +6,10 @@ bundler:
6
6
  bundle --local --path vendor/bundle
7
7
 
8
8
  vagrant:
9
- bundle exec vagrant box remove vagrant-shell-demo shell || true
10
- bundle exec vagrant box add vagrant-shell-demo vagrant-shell-demo.box
9
+ bundle exec vagrant box remove vagrant-shell shell || true
10
+ bundle exec vagrant box add vagrant-shell vagrant-shell.box
11
+
12
+ shell:
13
+ docker pull ubuntu
14
+ bundle exec vagrant up --provider shell || true
15
+ bundle exec vagrant ssh
data/README.md CHANGED
@@ -1,5 +1,3 @@
1
- # Work in progress, still QA'ing the demo
2
-
3
1
  # Vagrant Shell Provider
4
2
 
5
3
  This is a [Vagrant](http://www.vagrantup.com) 1.2+ plugin that adds a
@@ -7,15 +5,11 @@ shell provider to Vagrant, allowing Vagrant to control and provision
7
5
  machines using shell scripts. It's meant to be customized with scripts
8
6
  for Xen, Docker, etc.
9
7
 
10
- **NOTE:** This plugin requires Vagrant 1.2+,
8
+ **NOTE:** This plugin requires Vagrant 1.2+, ruby 1.9, and bundler.
11
9
 
12
10
  vagrant-shell is forked from vagrant-aws with the fog/aws parts replaced
13
- with a shell script that takes four command arguments:
14
-
15
- script run-instance $image_id command args... -> $instance_id
16
- script terminate-instance $instance_id
17
- script ssh-info $instance_id -> ssh-host ssh-port
18
- script read-state $instance_id -> *
11
+ with a shell script that takes four sub-commands: run-instance,
12
+ terminate-instance, ssh-info, and read-state.
19
13
 
20
14
  See `libexec/shell-docker` for an example.
21
15
 
@@ -24,14 +18,22 @@ See `libexec/shell-docker` for an example.
24
18
  I don't know how to instal vagrant-shell as a plugin, so this repo uses
25
19
  bundler and cached gems. Requires ruby 1.9.3 (vagrant).
26
20
 
27
- Run make to bundle gems and install the demo vagrant box:
21
+ Run make to bundle gems, pull the ubuntu image, and install the demo vagrant
22
+ box:
28
23
 
29
24
  make
30
25
 
26
+ Download the ubuntu docker image:
27
+
28
+ docker pull ubuntu
29
+
31
30
  Bring up the docker container:
32
31
 
33
32
  bundle exec vagrant up --provider shell
34
33
 
34
+ The commands passed to the container are sourced from `libexec/init-docker`.
35
+ It sets up the root user with an ssh key suitable for vagrant.
36
+
35
37
  SSH into the container:
36
38
 
37
39
  bundle exec vagrant ssh
@@ -1,11 +1,24 @@
1
1
  require "vagrant-shell"
2
2
 
3
+ def read_script pth_script
4
+ File.read(pth_script).split(/[ \t]*[\r\n]+/).join("; ")
5
+ end
6
+
3
7
  Vagrant.configure("2") do |config|
8
+ config.vm.box = "vagrant-shell"
9
+
4
10
  config.vm.provider :shell do |shell, override|
5
- override.vm.box = "vagrant-shell-demo"
6
- shell.script = File.expand_path("../libexec/shell-docker", __FILE__)
7
- shell.run_args = [ 'bash -c "mkdir -p /root/.ssh/authorized_keys; curl -s https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub > /root/.ssh/authorized_keys; aptitude install -y openssh-server; mkdir -p /var/run/sshd; exec /usr/sbin/sshd -D"' ]
11
+ # use public docker ubuntu
12
+ shell.image = "ubuntu"
8
13
  override.ssh.username = "root"
14
+
15
+ # vagrant-shell comes with shell-docker to support docker containers
16
+ shell.script = File.expand_path("../libexec/shell-docker", __FILE__)
17
+
18
+ # set up vagrant keys, install/configure/run Ubuntu sshd
19
+ shell.run_args = [ "bash -c '#{read_script File.expand_path("../libexec/init-docker", __FILE__)}'" ]
20
+
21
+ # don't copy anything to /vagrant
9
22
  override.vm.synced_folder ".", "/vagrant", :id => "vagrant-root", :disabled => true
10
23
  end
11
24
  end
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module Shell
3
- VERSION = "0.2.5"
3
+ VERSION = "0.2.6"
4
4
  end
5
5
  end
@@ -0,0 +1,7 @@
1
+ DEBIAN_FRONTEND=noninteractive apt-get install -y wget openssh-server
2
+ install -d -m 0700 -o root -g root /root/.ssh
3
+ wget -O - https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub > /root/.ssh/authorized_keys.tmp
4
+ install -m 0600 -o root -g root /root/.ssh/authorized_keys.tmp /root/.ssh/authorized_keys
5
+ rm -f /root/.ssh/authorized_keys.tmp
6
+ install -d -m 0755 -o root -g root /var/run/sshd
7
+ exec /usr/sbin/sshd -D
@@ -1,4 +1,8 @@
1
- #!/bin/bash
1
+ #!/bin/bash -efu
2
+
3
+ if [[ -n "${VAGRANT_LOG:-}" ]]; then
4
+ set -x
5
+ fi
2
6
 
3
7
  cmd="$1"; shift
4
8
  case "$cmd" in
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-shell
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-05-06 00:00:00.000000000 Z
13
+ date: 2013-05-15 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: Enables Vagrant to manage machines using shell scripts
16
16
  email:
@@ -41,6 +41,7 @@ files:
41
41
  - lib/vagrant-shell/util/timer.rb
42
42
  - lib/vagrant-shell/version.rb
43
43
  - lib/vagrant-shell.rb
44
+ - libexec/init-docker
44
45
  - libexec/shell-docker
45
46
  - LICENSE
46
47
  - locales/en.yml
@@ -48,7 +49,8 @@ files:
48
49
  - Rakefile
49
50
  - README.md
50
51
  - vagrant-shell-0.2.3.gem
51
- - vagrant-shell-demo.box
52
+ - vagrant-shell-0.2.5.gem
53
+ - vagrant-shell.box
52
54
  - vagrant-shell.gemspec
53
55
  - Vagrantfile
54
56
  - vendor/bundle/bin/erubis
Binary file