lambom 0.4.3 → 0.4.7
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|