bignou 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +7 -1
- data/README.md +15 -0
- data/bignou.gemspec +17 -0
- data/bin/bignou +26 -4
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8131a4a48e5e958355a2306b104ef7f37196cabc
|
4
|
+
data.tar.gz: 5cbf3def5e2e4bdf3debf2f4de865bcb3601e5db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 509e8e446cd53148289f2e8e067caa9352f6e24f4d29b4ba9d08ba1e03f8e012a4e529f2adadd588d95a4f5dfcb7de3a0f827cab59b84408f6e139c08c8f359e
|
7
|
+
data.tar.gz: 006318fdd40cd0809ab3bc790cafccee9ab53bfde746a5a13092e16d7750a3100edf537054336e38ec28fd1b6a01bf1bcea0f928917cae9c0f701e84c918887a
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
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
|
-
|
11
|
+
system "mkdir -p '#{root}' '#{aufs_root}'"
|
12
12
|
end
|
13
13
|
|
14
|
-
desc "Create virtual machine name from base"
|
15
|
-
|
16
|
-
|
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
|
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:
|