lxdev 0.1.4 → 0.1.5
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.
- checksums.yaml +4 -4
- data/bin/lxdev +3 -2
- data/lib/lxdev/main.rb +9 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f40399ea2c4422f9a5b4b789d1b9347721fbc5e3
|
4
|
+
data.tar.gz: 6dc6ebd630f013876eb045ff166fb986efce1e0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe19314ba8389725a6153c0529135a2a63404d73f5ebeba49a36bd8a07e41a0e65fdbb7bd9a7a0617ed7cd35a636b6bac9e71f476fb7fcef0477f24d0df061d0
|
7
|
+
data.tar.gz: 3edf3032409230181054edb3a27f9acb643c5a0af3ae0aa8387b90a03b53923bced72eec0ac17b7cac92063d100e0241f72e1a573241cbfa9c9cbaacad7228c9
|
data/bin/lxdev
CHANGED
@@ -3,6 +3,7 @@ require 'lxdev/main'
|
|
3
3
|
require 'optparse'
|
4
4
|
|
5
5
|
$config_file = 'lxdev.yml'
|
6
|
+
$state_file = 'state'
|
6
7
|
|
7
8
|
def option_parser
|
8
9
|
opt_parser = OptionParser.new do |opts|
|
@@ -19,9 +20,9 @@ def option_parser
|
|
19
20
|
end
|
20
21
|
|
21
22
|
opts.on("-c F", "--config F", String, "Specify config file, defaults to lxdev.yml") do |filename|
|
22
|
-
puts filename
|
23
23
|
unless filename.nil?
|
24
24
|
$config_file = filename
|
25
|
+
$state_file = format("%s_%s", 'state', File.basename($config_file, '.yml'))
|
25
26
|
end
|
26
27
|
end
|
27
28
|
|
@@ -106,7 +107,7 @@ end
|
|
106
107
|
|
107
108
|
|
108
109
|
option_parser
|
109
|
-
lxdev = LxDev::Main.setup($config_file)
|
110
|
+
lxdev = LxDev::Main.setup($config_file, $state_file)
|
110
111
|
if lxdev
|
111
112
|
execute_main_command(lxdev)
|
112
113
|
lxdev.save_state
|
data/lib/lxdev/main.rb
CHANGED
@@ -9,9 +9,10 @@ module LxDev
|
|
9
9
|
WHITELISTED_SUDO_COMMANDS = ["lxc", "redir", "kill"]
|
10
10
|
SHELLS = ["bash", "zsh", "sh", "csh", "tcsh", "ash"]
|
11
11
|
BOOT_TIMEOUT = 30
|
12
|
-
VERSION = '0.1.
|
12
|
+
VERSION = '0.1.5'
|
13
13
|
|
14
|
-
def initialize(config_file)
|
14
|
+
def initialize(config_file, state_file)
|
15
|
+
@state_file = format(".lxdev/%s", state_file)
|
15
16
|
@uid = System.exec("id -u").output.chomp
|
16
17
|
@gid = System.exec("id -g").output.chomp
|
17
18
|
@config = YAML.load_file(config_file)
|
@@ -21,7 +22,7 @@ module LxDev
|
|
21
22
|
@ports = @config['box']['ports'] || {}
|
22
23
|
Dir.mkdir('.lxdev') unless File.directory?('.lxdev')
|
23
24
|
begin
|
24
|
-
@state = YAML.load_file(
|
25
|
+
@state = YAML.load_file(@state_file)
|
25
26
|
rescue
|
26
27
|
@state = Hash.new
|
27
28
|
end
|
@@ -30,13 +31,13 @@ module LxDev
|
|
30
31
|
exit 1
|
31
32
|
end
|
32
33
|
|
33
|
-
def self.setup(config_file = 'lxdev.yml')
|
34
|
+
def self.setup(config_file = 'lxdev.yml', state_file = 'state')
|
34
35
|
self.check_requirements
|
35
36
|
unless lxd_initialized?
|
36
37
|
puts "Please run 'lxd init' and configure LXD first"
|
37
38
|
return false
|
38
39
|
end
|
39
|
-
lxdev = Main.new(config_file)
|
40
|
+
lxdev = Main.new(config_file, state_file)
|
40
41
|
unless lxdev.set_ssh_keys
|
41
42
|
puts "No ssh keys detected. Make sure you have an ssh key, a running agent, and the key added to the agent, e.g. with ssh-add."
|
42
43
|
return false
|
@@ -45,7 +46,7 @@ module LxDev
|
|
45
46
|
end
|
46
47
|
|
47
48
|
def save_state
|
48
|
-
File.open(
|
49
|
+
File.open(@state_file, 'w') {|f| f.write @state.to_yaml} unless @state.empty?
|
49
50
|
end
|
50
51
|
|
51
52
|
def set_ssh_keys
|
@@ -89,7 +90,7 @@ module LxDev
|
|
89
90
|
def up
|
90
91
|
do_provision = false
|
91
92
|
unless @state.empty?
|
92
|
-
puts "Container state
|
93
|
+
puts "Container state #{@state_file} exists, is it running? If not it might have stopped unexpectedly. Please remove the file before starting."
|
93
94
|
exit 1
|
94
95
|
end
|
95
96
|
if get_container_status.empty?
|
@@ -211,7 +212,7 @@ module LxDev
|
|
211
212
|
end
|
212
213
|
|
213
214
|
def remove_state
|
214
|
-
File.delete(
|
215
|
+
File.delete(@state_file) if File.exists?(@state_file)
|
215
216
|
@state = {}
|
216
217
|
end
|
217
218
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lxdev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Lønaas
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-03-
|
12
|
+
date: 2019-03-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|