lambom 0.4.3 → 0.4.7
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 +7 -0
- data/bin/lambom +16 -5
- data/lambom.gemspec +7 -5
- data/lib/lambom.rb +1 -4
- data/lib/lambom/config.rb +108 -92
- data/lib/lambom/converger.rb +48 -22
- data/lib/lambom/version.rb +1 -1
- data/spec/api_client_spec.rb +19 -19
- data/spec/converger_spec.rb +9 -6
- data/spec/test_json_file +1 -2
- metadata +19 -75
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 18348d90022514710524de670d3a08e14a50c34d
|
4
|
+
data.tar.gz: 1b06f188691179fd7fafa04aa636d451c7282e02
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 058f35736be038c22002cb8f74f11d15db05accdf9380a6381ea7782b0d3c038962cb777fa298d76c25752c6faff655389ef644acaff87f9f24b11ea87be052a
|
7
|
+
data.tar.gz: ea449373e8f86512ff94165d710fb999715da0a7b030c6d7ffc85a09c5eef1b55a82bec85411c8bc1153788ec51827b58ef9d4fead4a178b220f687d82ec29d0
|
data/bin/lambom
CHANGED
@@ -24,10 +24,10 @@ OptionParser.new do |opts|
|
|
24
24
|
options[:json_file] = j
|
25
25
|
end
|
26
26
|
|
27
|
-
opts.on("-b", "--berksfile [BERKSFILE FILE]",
|
28
|
-
|
29
|
-
|
30
|
-
end
|
27
|
+
# opts.on("-b", "--berksfile [BERKSFILE FILE]",
|
28
|
+
# "Use specified berksfile to download cookbooks and dependencies") do |j|
|
29
|
+
# options[:berksfile] = b
|
30
|
+
# end
|
31
31
|
|
32
32
|
opts.on("-c", "--cached",
|
33
33
|
"Use local cached cookbooks") do
|
@@ -74,10 +74,21 @@ end.parse!
|
|
74
74
|
|
75
75
|
out = ''
|
76
76
|
begin
|
77
|
+
|
77
78
|
out = Lambom.run(options)
|
78
|
-
|
79
|
+
|
80
|
+
rescue StandardError => e
|
81
|
+
|
79
82
|
puts "Error: #{e.message}"
|
80
83
|
exit 1
|
84
|
+
|
85
|
+
rescue SystemExit => s
|
86
|
+
|
87
|
+
unless s.success?
|
88
|
+
puts "Error executing convergence: #{out}"
|
89
|
+
exit s.status
|
90
|
+
end
|
91
|
+
|
81
92
|
end
|
82
93
|
|
83
94
|
puts "Command executed successfully"
|
data/lambom.gemspec
CHANGED
@@ -21,11 +21,13 @@ EOF
|
|
21
21
|
s.files = `git ls-files`.split($/)
|
22
22
|
s.license = 'Apache-2.0'
|
23
23
|
|
24
|
-
s.add_runtime_dependency "oj","~> 2.5
|
25
|
-
s.add_runtime_dependency "mixlib-authentication","~> 1.3
|
26
|
-
s.add_runtime_dependency "mixlib-shellout","~> 1.3
|
27
|
-
s.add_runtime_dependency "chef","~> 11.8
|
28
|
-
s.add_runtime_dependency "
|
24
|
+
s.add_runtime_dependency "oj","~> 2.5"
|
25
|
+
#s.add_runtime_dependency "mixlib-authentication","~> 1.3"
|
26
|
+
#s.add_runtime_dependency "mixlib-shellout","~> 1.3"
|
27
|
+
#s.add_runtime_dependency "chef","~> 11.8"
|
28
|
+
s.add_runtime_dependency "chef", "~> 12.0.3"
|
29
|
+
|
30
|
+
# s.add_runtime_dependency "berkshelf","~> 2.0.12"
|
29
31
|
|
30
32
|
s.add_development_dependency "rspec", "~> 2.0"
|
31
33
|
|
data/lib/lambom.rb
CHANGED
@@ -22,11 +22,8 @@ module Lambom
|
|
22
22
|
raise 'Must be run as root' unless Process.uid == 0
|
23
23
|
|
24
24
|
#cargar config
|
25
|
-
conf = Lambom::Config.new.load
|
25
|
+
conf = Lambom::Config.new.load(argv)
|
26
26
|
|
27
|
-
# sobreescribimos a configuracion ca linea de comandos
|
28
|
-
conf.merge(argv)
|
29
|
-
|
30
27
|
# executar converxencia
|
31
28
|
Lambom::Converger.new(conf).run
|
32
29
|
end
|
data/lib/lambom/config.rb
CHANGED
@@ -1,105 +1,121 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
|
3
3
|
module Lambom
|
4
|
-
class Config
|
5
|
-
CONFIG_DIR = "/etc/riyic"
|
6
|
-
FILE = "#{CONFIG_DIR}/lambom.conf"
|
7
|
-
UNIX_PATH_REGEX = /^[\w\s.\/\-_+%]+$/i
|
8
|
-
URL_REGEX = /^(http(s)?|ftp):\/\/(([A-Za-z0-9-]+\.)*([A-Za-z0-9-]+\.[A-Za-z0-9]+))+((\/?)(([A-Za-z0-9\._\-]+)(\/){0,1}[A-Za-z0-9.-\/]*)){0,1}/
|
9
|
-
|
10
|
-
attr_accessor :server,
|
11
|
-
:private_key_file,
|
12
|
-
:environment,
|
13
|
-
:loglevel,
|
14
|
-
:json_file,
|
15
|
-
:berksfile,
|
16
|
-
:cached,
|
17
|
-
:download_tarball,
|
18
|
-
:api_url
|
19
|
-
|
20
|
-
attr_reader :logdir, :logfile
|
21
|
-
|
22
|
-
def initialize
|
23
|
-
@server = nil
|
24
|
-
@private_key_file = nil
|
25
|
-
@json_file = nil
|
26
|
-
@berksfile = nil
|
27
|
-
@cached = false
|
28
|
-
@environment = 'production'
|
29
|
-
@loglevel = 'debug'
|
30
|
-
@logdir = '/var/log/riyic'
|
31
|
-
@logfile = "solo_#{Time.now.strftime("%F_%T")}"
|
32
|
-
@download_tarball = nil
|
33
|
-
@api_url = nil
|
34
|
-
end
|
35
4
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
instance_variable_set "@#{k}".to_sym, v
|
55
|
-
else
|
56
|
-
raise "Invalid value '#{v}' to parameter '#{k}'"
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
5
|
+
class Config
|
6
|
+
|
7
|
+
CONFIG_DIR = "/etc/riyic"
|
8
|
+
FILE = "#{CONFIG_DIR}/lambom.conf"
|
9
|
+
UNIX_PATH_REGEX = /^[\w\s.\/\-_+%]+$/i
|
10
|
+
URL_REGEX = /^(http(s)?|ftp):\/\/(([A-Za-z0-9-]+\.)*([A-Za-z0-9-]+\.[A-Za-z0-9]+))+((\/?)(([A-Za-z0-9\._\-]+)(\/){0,1}[A-Za-z0-9.-\/]*)){0,1}/
|
11
|
+
|
12
|
+
attr_accessor(
|
13
|
+
:server,
|
14
|
+
:private_key_file,
|
15
|
+
:environment,
|
16
|
+
:loglevel,
|
17
|
+
:json_file,
|
18
|
+
:berksfile,
|
19
|
+
:cached,
|
20
|
+
:download_tarball,
|
21
|
+
:api_url
|
22
|
+
)
|
60
23
|
|
61
|
-
|
24
|
+
attr_reader :logdir, :logfile
|
62
25
|
|
63
|
-
|
26
|
+
|
27
|
+
def initialize
|
28
|
+
@server = nil
|
29
|
+
@private_key_file = nil
|
30
|
+
@json_file = nil
|
31
|
+
@berksfile = nil
|
32
|
+
@cached = false
|
33
|
+
@environment = 'production'
|
34
|
+
@loglevel = 'debug'
|
35
|
+
@logdir = '/var/log/riyic'
|
36
|
+
@logfile = "solo_#{Time.now.strftime("%Y%m%d%H%M%S")}"
|
37
|
+
@download_tarball = nil
|
38
|
+
@api_url = nil
|
39
|
+
end
|
64
40
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
41
|
+
|
42
|
+
def load(argv={})
|
43
|
+
|
44
|
+
h = {}
|
45
|
+
|
46
|
+
# evitamos cascar si o ficheiro de configuracion non existe
|
47
|
+
if File.exists?(FILE)
|
48
|
+
|
49
|
+
begin
|
50
|
+
h = YAML.load(IO::read(FILE))
|
51
|
+
rescue Exception => e
|
52
|
+
e.to_s =~ /line (\d+) column/
|
53
|
+
raise "Error loading yaml config file #{FILE}, syntax error in line #{$1}"
|
71
54
|
end
|
72
55
|
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
when :server
|
77
|
-
# uuid
|
78
|
-
valor =~ /^[\d\w\-]{36}$/
|
79
|
-
when :private_key_file
|
80
|
-
#unix path
|
81
|
-
valor =~ UNIX_PATH_REGEX && File.exists?(valor)
|
82
|
-
when :environment
|
83
|
-
#env de rails
|
84
|
-
["production","development","test"].include?(valor)
|
85
|
-
when :loglevel
|
86
|
-
#loglevel de chef
|
87
|
-
%w{debug info}.include?(valor)
|
88
|
-
when :berksfile
|
89
|
-
valor =~ UNIX_PATH_REGEX && File.exists?(valor)
|
90
|
-
when :json_file
|
91
|
-
valor =~ UNIX_PATH_REGEX && File.exists?(valor)
|
92
|
-
when :cached
|
93
|
-
[true,false].include?(valor)
|
94
|
-
when :api_url
|
95
|
-
valor =~ URL_REGEX
|
96
|
-
when :download_tarball
|
97
|
-
valor =~ URL_REGEX
|
98
|
-
else
|
99
|
-
false
|
100
|
-
#raise "Invalid parameter #{parametro}"
|
101
|
-
end
|
56
|
+
puts "hash de opcions: #{h.inspect}" if $debug
|
57
|
+
|
58
|
+
raise "Error in config file, YAML loaded is not a hash" unless h.class == Hash
|
102
59
|
|
60
|
+
# convert keys from string to symbols
|
61
|
+
h = h.each_with_object({}) {|(k,v),o| o[k.to_sym] = v}
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
# merge line command hash with config file loaded
|
66
|
+
h.merge!(argv)
|
67
|
+
|
68
|
+
# validate parametros
|
69
|
+
h.each do |k,v|
|
70
|
+
if validate(k,v)
|
71
|
+
instance_variable_set "@#{k}".to_sym, v
|
72
|
+
else
|
73
|
+
raise "Invalid value '#{v}' to parameter '#{k}'"
|
103
74
|
end
|
75
|
+
end
|
76
|
+
|
77
|
+
return self
|
78
|
+
|
79
|
+
end
|
80
|
+
|
81
|
+
def merge(options={})
|
82
|
+
options.each do |k,v|
|
83
|
+
puts "mergeando #{k} con valor #{v} en config" if $debug
|
84
|
+
self.send("#{k}=",v) if validate(k,v)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
|
89
|
+
def validate(parametro,valor)
|
90
|
+
|
91
|
+
case parametro.to_sym
|
92
|
+
when :server
|
93
|
+
# uuid
|
94
|
+
valor =~ /^[\d\w\-]{36}$/
|
95
|
+
when :private_key_file
|
96
|
+
#unix path
|
97
|
+
valor =~ UNIX_PATH_REGEX && File.exists?(valor)
|
98
|
+
when :environment
|
99
|
+
#env de rails
|
100
|
+
["production","development","test"].include?(valor)
|
101
|
+
when :loglevel
|
102
|
+
#loglevel de chef
|
103
|
+
%w{debug info}.include?(valor)
|
104
|
+
when :berksfile
|
105
|
+
valor =~ UNIX_PATH_REGEX && File.exists?(valor)
|
106
|
+
when :json_file
|
107
|
+
valor =~ UNIX_PATH_REGEX && File.exists?(valor)
|
108
|
+
when :cached
|
109
|
+
[true,false].include?(valor)
|
110
|
+
when :api_url
|
111
|
+
valor =~ URL_REGEX
|
112
|
+
when :download_tarball
|
113
|
+
valor =~ URL_REGEX
|
114
|
+
else
|
115
|
+
false
|
116
|
+
#raise "Invalid parameter #{parametro}"
|
117
|
+
end
|
118
|
+
|
104
119
|
end
|
120
|
+
end
|
105
121
|
end
|
data/lib/lambom/converger.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#require "berkshelf/cli"
|
2
|
+
require 'chef/application/solo'
|
2
3
|
module Lambom
|
3
4
|
class Converger
|
4
5
|
include ShellMixin
|
@@ -22,7 +23,7 @@ module Lambom
|
|
22
23
|
CHEF_CONF_FILE = "#{Lambom::Config::CONFIG_DIR}/solo.rb"
|
23
24
|
|
24
25
|
CHEF_CONF_DEV = <<EOF
|
25
|
-
cookbook_path ["/mnt/
|
26
|
+
cookbook_path ["/mnt/cookbooks/supermarket", "/mnt/others/cookbooks", "/mnt/riyic/cookbooks"]
|
26
27
|
file_cache_path "#{CACHE_PATH}"
|
27
28
|
EOF
|
28
29
|
|
@@ -72,45 +73,64 @@ EOF
|
|
72
73
|
end
|
73
74
|
|
74
75
|
def descargar_cookbooks
|
76
|
+
|
75
77
|
if conf.download_tarball
|
78
|
+
|
76
79
|
# download cookbooks from a tarball
|
77
80
|
temp = "/tmp/cookbooks.tar.gz"
|
78
81
|
run_cmd('curl','-o',temp, '-L',conf.download_tarball)
|
79
82
|
FileUtils.mkdir_p(DEFAULT_CHEF_PATH) unless File.directory?(DEFAULT_CHEF_PATH)
|
80
83
|
run_cmd('tar','xzf',temp,'--no-same-owner','-C', DEFAULT_CHEF_PATH)
|
81
84
|
File.unlink(temp)
|
82
|
-
|
83
|
-
# use berkshelf to download cookbooks
|
84
|
-
# Download berksfile from riyic unless it was passed by command line
|
85
|
-
descargar_berksfile unless @berksfile
|
86
|
-
berks_install
|
85
|
+
|
87
86
|
end
|
87
|
+
|
88
|
+
# else
|
89
|
+
# # use berkshelf to download cookbooks
|
90
|
+
# # Download berksfile from riyic unless it was passed by command line
|
91
|
+
# descargar_berksfile unless @berksfile
|
92
|
+
# berks_install
|
93
|
+
# end
|
88
94
|
end
|
89
95
|
|
90
|
-
def descargar_berksfile
|
91
|
-
|
92
|
-
|
96
|
+
# def descargar_berksfile
|
97
|
+
# @berksfile = "#{CACHE_PATH}/#{@name}.berksfile"
|
98
|
+
# berksfile_str = Lambom::ApiClient.new(conf).get_berksfile
|
93
99
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
end
|
100
|
+
# file = File.new(@berksfile,"w")
|
101
|
+
# file.write(berksfile_str)
|
102
|
+
# file.close
|
103
|
+
# end
|
98
104
|
|
99
105
|
|
100
|
-
def berks_install
|
101
|
-
|
102
|
-
|
103
|
-
|
106
|
+
# def berks_install
|
107
|
+
# cmd = %W{
|
108
|
+
# berks install -b #{@berksfile} -p #{DEFAULT_CHEF_PATH}/cookbooks
|
109
|
+
# }
|
104
110
|
|
105
|
-
|
111
|
+
# run_cmd *cmd
|
106
112
|
|
107
|
-
end
|
113
|
+
# end
|
108
114
|
|
109
115
|
|
110
116
|
def ejecutar_converger
|
111
117
|
|
118
|
+
#cmd = %W{
|
119
|
+
# chef-solo
|
120
|
+
# -c #{CHEF_CONF_FILE}
|
121
|
+
# --log_level #{conf.loglevel}
|
122
|
+
# -j #{@json_file}
|
123
|
+
#}
|
124
|
+
#
|
125
|
+
#unless $debug
|
126
|
+
# cmd += [
|
127
|
+
# "--logfile",
|
128
|
+
# "#{conf.logdir}/#{conf.logfile}"
|
129
|
+
# ]
|
130
|
+
#end
|
131
|
+
#run_cmd *cmd
|
132
|
+
|
112
133
|
cmd = %W{
|
113
|
-
chef-solo
|
114
134
|
-c #{CHEF_CONF_FILE}
|
115
135
|
--log_level #{conf.loglevel}
|
116
136
|
-j #{@json_file}
|
@@ -122,11 +142,17 @@ EOF
|
|
122
142
|
"#{conf.logdir}/#{conf.logfile}"
|
123
143
|
]
|
124
144
|
end
|
125
|
-
|
126
|
-
run_cmd *cmd
|
127
145
|
|
146
|
+
# reseteamos argv
|
147
|
+
ARGV.clear
|
148
|
+
cmd.each do |arg|
|
149
|
+
ARGV << arg
|
150
|
+
end
|
151
|
+
|
152
|
+
Chef::Application::Solo.new.run
|
128
153
|
end
|
129
154
|
|
155
|
+
|
130
156
|
def preparar_entorno
|
131
157
|
# dont drop ruby vars from env
|
132
158
|
#ENV_VARS_DELETE.each {|v| ENV.delete(v)}
|
data/lib/lambom/version.rb
CHANGED
data/spec/api_client_spec.rb
CHANGED
@@ -2,27 +2,27 @@ require "lambom"
|
|
2
2
|
require "lambom/api"
|
3
3
|
|
4
4
|
describe Lambom::ApiClient do
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
5
|
+
conf = Lambom::Config.new.load(
|
6
|
+
environment: "production",
|
7
|
+
server: "4586273f-f17a-4984-99ef-69c255e1b395",
|
8
|
+
private_key_file: "spec/private_key.pem",
|
9
|
+
api_url: "http://172.17.42.1:3000/api/v1"
|
10
|
+
)
|
11
11
|
|
12
|
-
|
12
|
+
api = Lambom::ApiClient.new(conf)
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
it "must be an ApiClient object" do
|
15
|
+
expect(api).to be_an_instance_of(Lambom::ApiClient)
|
16
|
+
end
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
end
|
18
|
+
describe "getAttributes" do
|
19
|
+
it "must connect to riyic api" do
|
20
|
+
expect(api.get_server_config).to match(/^\{.+\}$/)
|
21
|
+
end
|
22
|
+
it "must fail to connect to api" do
|
23
|
+
conf.merge(server: "61a75d44-9856-4e64-a269-111111111111")
|
24
|
+
api2 = Lambom::ApiClient.new(conf)
|
25
|
+
expect{api2.get_server_config}.to raise_error(/api error/)
|
27
26
|
end
|
27
|
+
end
|
28
28
|
end
|
data/spec/converger_spec.rb
CHANGED
@@ -4,12 +4,15 @@ require "lambom/converger"
|
|
4
4
|
describe Lambom::Converger do
|
5
5
|
conf = Lambom::Config.new
|
6
6
|
|
7
|
-
conf.merge(
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
conf.merge(
|
8
|
+
:environment => "production",
|
9
|
+
:server => "4586273f-f17a-4984-99ef-69c255e1b395",
|
10
|
+
:private_key_file => "spec/private_key.pem",
|
11
|
+
:loglevel => 'info',
|
12
|
+
:json_file => 'spec/test_json_file',
|
13
|
+
:api_url => 'http://172.17.42.1:3000/api/v1',
|
14
|
+
:download_tarball => 'https://s3-eu-west-1.amazonaws.com/riyic/cookbooks.tar.gz'
|
15
|
+
)
|
13
16
|
|
14
17
|
|
15
18
|
it "must run convergence tool" do
|
data/spec/test_json_file
CHANGED
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lambom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.7
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- J. Gomez
|
@@ -14,100 +13,46 @@ dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: oj
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 2.5
|
19
|
+
version: '2.5'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 2.5
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: mixlib-authentication
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ~>
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 1.3.0
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: 1.3.0
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: mixlib-shellout
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ~>
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 1.3.0
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.3.0
|
26
|
+
version: '2.5'
|
62
27
|
- !ruby/object:Gem::Dependency
|
63
28
|
name: chef
|
64
29
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 11.8.2
|
70
|
-
type: :runtime
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: 11.8.2
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: berkshelf
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
30
|
requirements:
|
83
|
-
- - ~>
|
31
|
+
- - "~>"
|
84
32
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
33
|
+
version: 12.0.3
|
86
34
|
type: :runtime
|
87
35
|
prerelease: false
|
88
36
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
37
|
requirements:
|
91
|
-
- - ~>
|
38
|
+
- - "~>"
|
92
39
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
40
|
+
version: 12.0.3
|
94
41
|
- !ruby/object:Gem::Dependency
|
95
42
|
name: rspec
|
96
43
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
44
|
requirements:
|
99
|
-
- - ~>
|
45
|
+
- - "~>"
|
100
46
|
- !ruby/object:Gem::Version
|
101
47
|
version: '2.0'
|
102
48
|
type: :development
|
103
49
|
prerelease: false
|
104
50
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
51
|
requirements:
|
107
|
-
- - ~>
|
52
|
+
- - "~>"
|
108
53
|
- !ruby/object:Gem::Version
|
109
54
|
version: '2.0'
|
110
|
-
description:
|
55
|
+
description: "Riyic is a server configuration service based on chef (http://riyic.com).\nThe
|
111
56
|
lambom gem is a tool to apply chef configurations generated with the riyic service,
|
112
57
|
or defined in a pair of plain text files \n(a json attributes file where the server
|
113
58
|
configuration is detailed and a berkshelf file which specifies cookbooks restrictions
|
@@ -118,8 +63,8 @@ executables:
|
|
118
63
|
extensions: []
|
119
64
|
extra_rdoc_files: []
|
120
65
|
files:
|
121
|
-
- .gitignore
|
122
|
-
- .rspec
|
66
|
+
- ".gitignore"
|
67
|
+
- ".rspec"
|
123
68
|
- README.md
|
124
69
|
- bin/lambom
|
125
70
|
- lambom.gemspec
|
@@ -144,26 +89,25 @@ files:
|
|
144
89
|
homepage: https://github.com/RIYIC/lambom
|
145
90
|
licenses:
|
146
91
|
- Apache-2.0
|
92
|
+
metadata: {}
|
147
93
|
post_install_message:
|
148
94
|
rdoc_options: []
|
149
95
|
require_paths:
|
150
96
|
- lib
|
151
97
|
required_ruby_version: !ruby/object:Gem::Requirement
|
152
|
-
none: false
|
153
98
|
requirements:
|
154
|
-
- -
|
99
|
+
- - ">="
|
155
100
|
- !ruby/object:Gem::Version
|
156
101
|
version: '0'
|
157
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
|
-
none: false
|
159
103
|
requirements:
|
160
|
-
- -
|
104
|
+
- - ">="
|
161
105
|
- !ruby/object:Gem::Version
|
162
106
|
version: '0'
|
163
107
|
requirements: []
|
164
108
|
rubyforge_project:
|
165
|
-
rubygems_version:
|
109
|
+
rubygems_version: 2.2.2
|
166
110
|
signing_key:
|
167
|
-
specification_version:
|
111
|
+
specification_version: 4
|
168
112
|
summary: Tool to configure servers based on chef-solo and berkshelf
|
169
113
|
test_files: []
|