bignou 0.0.1 → 0.1.0

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.
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: