bignou 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (7) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +7 -1
  4. data/README.md +15 -0
  5. data/bignou.gemspec +17 -0
  6. data/bin/bignou +26 -4
  7. metadata +2 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf45b243e8a2911fe655f7376a97bfb64ae76dc1
4
- data.tar.gz: f1ae1d46e79964dd66252d34e5d57cd8aaed11e9
3
+ metadata.gz: 8131a4a48e5e958355a2306b104ef7f37196cabc
4
+ data.tar.gz: 5cbf3def5e2e4bdf3debf2f4de865bcb3601e5db
5
5
  SHA512:
6
- metadata.gz: 8c1a88c6c39c014351ebbe4ca7420b6950e11b78cf29862909ad736de8d04b9e11576bed156e72aae01c7594f89f866db79bd8f79b6663eec648a13b7c8ad08c
7
- data.tar.gz: 2b04284fb77c7b37e933b643bfdfd1567ff12b8068810c0b1e301106c0da3275d4cb9820954b314051635d862d5e906cf9c0e79ce4384c0a5dfd1ba20ee3ffbd
6
+ metadata.gz: 509e8e446cd53148289f2e8e067caa9352f6e24f4d29b4ba9d08ba1e03f8e012a4e529f2adadd588d95a4f5dfcb7de3a0f827cab59b84408f6e139c08c8f359e
7
+ data.tar.gz: 006318fdd40cd0809ab3bc790cafccee9ab53bfde746a5a13092e16d7750a3100edf537054336e38ec28fd1b6a01bf1bcea0f928917cae9c0f701e84c918887a
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem "boson"
3
+ gemspec
4
4
 
data/Gemfile.lock CHANGED
@@ -1,3 +1,9 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ bignou (0.0.1)
5
+ boson
6
+
1
7
  GEM
2
8
  remote: http://rubygems.org/
3
9
  specs:
@@ -7,4 +13,4 @@ PLATFORMS
7
13
  ruby
8
14
 
9
15
  DEPENDENCIES
10
- boson
16
+ bignou!
data/README.md CHANGED
@@ -2,3 +2,18 @@ bignou
2
2
  ======
3
3
 
4
4
  Manage VM with LXC and AUFS
5
+
6
+ ```
7
+ Usage: bignou [OPTIONS] COMMAND [ARGS]
8
+
9
+ Available commands:
10
+ config Configure virtual machine [name]
11
+ create Create virtual machine [name] from -b [base]
12
+ help Displays help for a command
13
+ list List all virtual machines
14
+ start Start virtual machine [name]
15
+ stop Stop virtual machine [name]
16
+
17
+ Options:
18
+ -h, --help Displays this help message
19
+ ```
data/bignou.gemspec ADDED
@@ -0,0 +1,17 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'bignou'
3
+ s.version = '0.1.0'
4
+ s.date = '2013-12-09'
5
+ s.summary = "Bignou"
6
+ s.description = "Manage VM with LXC and AUFS"
7
+ s.authors = ["Victor Goya"]
8
+ s.email = 'goya.victor@gmail.com'
9
+ s.files = `git ls-files`.split("\n")
10
+ s.homepage = 'https://github.com/phorque/bignou'
11
+ s.license = 'MIT'
12
+
13
+ s.require_path = 'lib'
14
+ s.add_dependency "boson"
15
+
16
+ s.executables = ['bignou']
17
+ end
data/bin/bignou CHANGED
@@ -8,12 +8,34 @@ class BignouRunner < Boson::Runner
8
8
  LXC_ROOT = "/var/lib/lxc"
9
9
 
10
10
  def initialize
11
- cmd "mkdir -p '#{root}' '#{aufs_root}'"
11
+ system "mkdir -p '#{root}' '#{aufs_root}'"
12
12
  end
13
13
 
14
- desc "Create virtual machine name from base"
15
- def create(base, name)
16
- cmd "mount -t aufs -o br=#{aufs_root.join(name)}:#{root.join(base)} none #{root.join(name)}"
14
+ desc "Create virtual machine [name] from -b [base]"
15
+ option :base, type: :string
16
+ def create(name, options)
17
+ cmd "printf '\nnone #{root.join(name)} aufs br:#{aufs_root.join(name)}:#{root.join(options[:base])} 0 0\n' >> /etc/fstab"
18
+ cmd "mount #{root.join(name)}"
19
+ config name
20
+ end
21
+
22
+ desc "Start virtual machine [name]"
23
+ def start(name)
24
+ cmd "lxc-start -d -n #{name}"
25
+ end
26
+
27
+ desc "Stop virtual machine [name]"
28
+ def stop(name)
29
+ cmd "lxc-stop -n #{name}"
30
+ end
31
+
32
+ desc "List all virtual machines"
33
+ def list
34
+ cmd "lxc-ls --fancy"
35
+ end
36
+
37
+ desc "Configure virtual machine [name]"
38
+ def config(name)
17
39
  cmd "#{ENV['EDITOR'] || 'nano'} #{root.join(name, 'config')}"
18
40
  end
19
41
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bignou
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Goya
@@ -36,6 +36,7 @@ files:
36
36
  - Gemfile.lock
37
37
  - LICENSE
38
38
  - README.md
39
+ - bignou.gemspec
39
40
  - bin/bignou
40
41
  homepage: https://github.com/phorque/bignou
41
42
  licenses: