lambom 0.3.5 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md ADDED
@@ -0,0 +1,37 @@
1
+ lambom
2
+ ======
3
+
4
+ lambom is a tool to configure servers based on chef-solo and berkshelf.
5
+
6
+ Description
7
+ -----------
8
+ Riyic is a server configuration service based on chef (http://riyic.com).
9
+
10
+ The lambom gem is a tool to apply chef configurations generated with the riyic service, or defined in a pair of plain text files :
11
+ - a [json attributes file](http://docs.opscode.com/chef_solo.html#attributes) where the server configuration is detailed
12
+ - and a [berkshelf](http://github.com/berkshelf/berkshelf) file which specifies cookbooks restrictions and sources
13
+
14
+ Usage
15
+ -----
16
+ ```
17
+ Usage: lambom [options]
18
+ -A, --api [API ENDPOINT URL] RIYIC Api endpoint to connect to download the server configuration
19
+ -j, --json [JSON FILE] Run server convergence with configuration from json attributes file
20
+ -b, --berksfile [BERKSFILE FILE] Use specified berksfile to download cookbooks and dependencies
21
+ -c, --cached Use local cached cookbooks
22
+ -D, --download [TARBALL URL] Download cookbooks tarball from url and unpack it in cookbooks chef path
23
+ -e, --env [ENVIRONMENT] Select environment
24
+ -s, --server [SERVER_UUID] Sets the server uuid to which to download configuration from RIYIC api
25
+ -k, --keyfile [PRIVATE KEYFILE] PEM Private keyfile to sign api requests
26
+ -l, --loglevel [LOG_LEVEL] Set loglevel
27
+ -d, --debug Debug mode
28
+ -v, --version Show version
29
+ ```
30
+
31
+ Requirements
32
+ ------------
33
+ - Tested in Ubuntu-12.04
34
+ - ruby 1.9.3
35
+ - chef ~> 11.8.2
36
+ - berkshelf ~> 2.0.12
37
+ - git
data/bin/lambom CHANGED
@@ -14,18 +14,39 @@ options = {}
14
14
  OptionParser.new do |opts|
15
15
  opts.banner = "Usage: lambom [options]"
16
16
 
17
+ opts.on("-A", "--api [API ENDPOINT URL]",
18
+ "RIYIC Api endpoint to connect to download the server configuration") do |j|
19
+ options[:api_url] = j
20
+ end
21
+
17
22
  opts.on("-j", "--json [JSON FILE]",
18
- "Run server configuration with json attributes file") do |j|
23
+ "Run server convergence with configuration from json attributes file") do |j|
19
24
  options[:json_file] = j
20
25
  end
21
26
 
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
+
32
+ opts.on("-c", "--cached",
33
+ "Use local cached cookbooks") do
34
+ options[:cached] = true
35
+ end
36
+
37
+ opts.on("-D", "--download [TARBALL URL]",
38
+ "Download cookbooks tarball from url and unpack it in cookbooks chef path") do |d|
39
+ options[:download_tarball] = d
40
+ end
41
+
42
+
22
43
  opts.on("-e", "--env [ENVIRONMENT]",
23
44
  "Select environment") do |e|
24
45
  options[:environment] = e
25
46
  end
26
47
 
27
48
  opts.on("-s", "--server [SERVER_UUID]",
28
- "Set server to which get configuration from riyic api") do |s|
49
+ "Sets the server uuid to which to download configuration from RIYIC api") do |s|
29
50
  options[:server] = s
30
51
  end
31
52
 
@@ -41,7 +62,7 @@ OptionParser.new do |opts|
41
62
 
42
63
  opts.on("-d","--debug",
43
64
  "Debug mode") do
44
- Lambom.enable_debug
65
+ Lambom.enable_debug
45
66
  end
46
67
 
47
68
  opts.on_tail("-v", "--version", "Show version") do
data/lambom.gemspec CHANGED
@@ -6,9 +6,14 @@ require "lambom/version"
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'lambom'
8
8
  s.version = Lambom::VERSION
9
- s.date = '2013-12-23'
10
- s.summary = "Tool to apply riyic configurations"
11
- s.description = "Riyic is a server configuration service based on chef (http://riyic.com). The lambom gem is a tool to apply, through chef-solo, your riyic configurations in your server"
9
+ s.date = '2014-01-21'
10
+ s.summary = "Tool to configure servers based on chef-solo and berkshelf"
11
+ s.description = <<-EOF
12
+ Riyic is a server configuration service based on chef (http://riyic.com).
13
+ The lambom gem is a tool to apply chef configurations generated with the riyic service, or defined in a pair of plain text files
14
+ (a json attributes file where the server configuration is detailed and a berkshelf file which specifies cookbooks restrictions and sources).
15
+ EOF
16
+
12
17
  s.authors = ["J. Gomez"]
13
18
  s.email = 'alambike@gmail.com'
14
19
  s.require_paths = ["lib"]
@@ -16,9 +21,11 @@ Gem::Specification.new do |s|
16
21
  s.files = `git ls-files`.split($/)
17
22
  s.license = 'Apache-2.0'
18
23
 
19
- s.add_runtime_dependency "oj","~> 2.0"
20
- s.add_runtime_dependency "mixlib-authentication","~> 1.3"
21
- s.add_runtime_dependency "mixlib-shellout","~> 1.3"
24
+ s.add_runtime_dependency "oj","~> 2.5.4"
25
+ s.add_runtime_dependency "mixlib-authentication","~> 1.3.0"
26
+ s.add_runtime_dependency "mixlib-shellout","~> 1.3.0"
27
+ s.add_runtime_dependency "chef","~> 11.8.2"
28
+ s.add_runtime_dependency "berkshelf","~> 2.0.12"
22
29
 
23
30
  s.add_development_dependency "rspec", "~> 2.0"
24
31
 
data/lib/lambom.rb CHANGED
@@ -19,7 +19,7 @@ module Lambom
19
19
  def run(argv)
20
20
  puts "DEBUG ENABLED" if $debug
21
21
  puts "Recived args: #{argv.inspect}" if $debug
22
- raise 'Must run as root' unless Process.uid == 0
22
+ raise 'Must be run as root' unless Process.uid == 0
23
23
 
24
24
  #cargar config
25
25
  conf = Lambom::Config.new.load
@@ -27,16 +27,8 @@ module Lambom
27
27
  # sobreescribimos a configuracion ca linea de comandos
28
28
  conf.merge(argv)
29
29
 
30
- attributes = {}
31
- # descargar atributos do servidor (a menos que nos pasen json_file => file.json)
32
- if argv.has_key?(:json_file)
33
- json_attributes = IO.read(argv[:json_file])
34
- else
35
- json_attributes = Lambom::ApiClient.new(conf).get_server_config
36
- end
37
-
38
30
  # executar converxencia
39
- Lambom::Converger.new(conf,json_attributes).run
31
+ Lambom::Converger.new(conf).run
40
32
  end
41
33
 
42
34
 
data/lib/lambom/api.rb CHANGED
@@ -7,20 +7,14 @@ require 'net/http'
7
7
 
8
8
  module Lambom
9
9
  class ApiClient
10
- API_URL = {
11
- #:production => "https://riyic.com/api/v1",
12
- :production => "http://www2.ruleyourcloud.com/api/v1",
13
- :development => "http://10.0.3.1:3000/api/v1"
14
- }
10
+ DEFAULT_API_URL = "https://riyic.com/api/v1"
15
11
 
16
12
  def initialize(conf)
17
13
  @server_id = conf.server or raise "Required parameter \"server\" not found"
18
14
  @private_key_file = conf.private_key_file or raise "Required parameter \"private_key_file\" not found"
19
15
  @env = conf.environment
20
16
 
21
- @api_url = (@env == "production")?
22
- API_URL[:production]:
23
- API_URL[:development]
17
+ @api_url = conf.api_url || DEFAULT_API_URL
24
18
  end
25
19
 
26
20
  def get_server_config
@@ -28,6 +22,10 @@ module Lambom
28
22
 
29
23
  end
30
24
 
25
+ def get_berksfile
26
+ get("servers","#{@server_id}/berksfile")
27
+ end
28
+
31
29
 
32
30
 
33
31
  def get(controller, action='',params={})
@@ -57,7 +55,7 @@ module Lambom
57
55
  end
58
56
 
59
57
  http = Net::HTTP.new(uri.host, uri.port)
60
- #http.use_ssl = true
58
+ http.use_ssl = true if uri.scheme == 'https'
61
59
 
62
60
  response = http.request(req)
63
61
  puts response.body if $debug
@@ -105,7 +103,6 @@ module Lambom
105
103
  :user_id => server_id.to_s,
106
104
  :http_method => request.method.to_s,
107
105
  :timestamp => Time.now.iso8601,
108
- #:file => MockFile.new,
109
106
  :path => request.path.to_s,
110
107
  :proto_version => 1.1
111
108
  }
data/lib/lambom/config.rb CHANGED
@@ -4,18 +4,33 @@ module Lambom
4
4
  class Config
5
5
  CONFIG_DIR = "/etc/riyic"
6
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}/
7
9
 
8
-
9
- attr_accessor :server, :private_key_file, :environment, :loglevel
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
+
10
20
  attr_reader :logdir, :logfile
11
21
 
12
22
  def initialize
13
23
  @server = nil
14
24
  @private_key_file = nil
25
+ @json_file = nil
26
+ @berksfile = nil
27
+ @cached = false
15
28
  @environment = 'production'
16
29
  @loglevel = 'debug'
17
30
  @logdir = '/var/log/riyic'
18
31
  @logfile = "solo_#{Time.now.strftime("%F_%T")}"
32
+ @download_tarball = nil
33
+ @api_url = nil
19
34
  end
20
35
 
21
36
  def load
@@ -56,19 +71,30 @@ module Lambom
56
71
  end
57
72
 
58
73
  def validate(parametro,valor)
74
+
59
75
  case parametro.to_sym
60
76
  when :server
61
77
  # uuid
62
78
  valor =~ /^[\d\w\-]{36}$/
63
79
  when :private_key_file
64
80
  #unix path
65
- valor =~ /^[\w\s.\/\-_+%]+$/i
81
+ valor =~ UNIX_PATH_REGEX && File.exists?(valor)
66
82
  when :environment
67
83
  #env de rails
68
84
  ["production","development","test"].include?(valor)
69
85
  when :loglevel
70
86
  #loglevel de chef
71
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
72
98
  else
73
99
  false
74
100
  #raise "Invalid parameter #{parametro}"
@@ -1,9 +1,8 @@
1
+ #require "berkshelf/cli"
1
2
  module Lambom
2
3
  class Converger
3
4
  include ShellMixin
4
5
 
5
- COOKBOOKS_URL = 'http://www2.ruleyourcloud.com/cookbooks.tar.gz'
6
-
7
6
  DEFAULT_CHEF_PATH = '/var/chef'
8
7
 
9
8
  CACHE_PATH = "#{DEFAULT_CHEF_PATH}/cache"
@@ -36,9 +35,11 @@ EOF
36
35
  :other => CHEF_CONF_OTHER,
37
36
  }
38
37
 
39
- def initialize(conf, json)
38
+ def initialize(conf)
40
39
  @conf = conf
41
- @attributes_json = json
40
+ @name = conf.server || String.random(8)
41
+ @json_file = conf.json_file
42
+ @berksfile = conf.berksfile
42
43
  end
43
44
 
44
45
 
@@ -47,7 +48,9 @@ EOF
47
48
  def run
48
49
  preparar_entorno
49
50
 
50
- descargar_cookbooks
51
+ descargar_atributos unless conf.json_file
52
+
53
+ descargar_cookbooks unless conf.cached || conf.environment == 'development'
51
54
 
52
55
  ejecutar_converger
53
56
  end
@@ -55,19 +58,69 @@ EOF
55
58
 
56
59
  private
57
60
 
58
- def ejecutar_converger
59
- name = conf.server || String.random(8)
61
+ def descargar_atributos
62
+
63
+ # descargar atributos do servidor
64
+ json_attributes = Lambom::ApiClient.new(conf).get_server_config
65
+
66
+ @json_file = "#{CACHE_PATH}/#{@name}.json"
67
+
68
+ file = File.new(@json_file,"w")
69
+ file.write(json_attributes)
70
+ file.close
71
+
72
+ end
73
+
74
+ def descargar_cookbooks
75
+ if conf.download_tarball
76
+ # download cookbooks from a tarball
77
+ temp = "/tmp/cookbooks.tar.gz"
78
+ run_cmd('curl','-o',temp, '-L',conf.download_tarball)
79
+ FileUtils.mkdir_p(DEFAULT_CHEF_PATH) unless File.directory?(DEFAULT_CHEF_PATH)
80
+ run_cmd('tar','xzf',temp,'--no-same-owner','-C', DEFAULT_CHEF_PATH)
81
+ File.unlink(temp)
82
+ else
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
87
+ end
88
+ end
60
89
 
61
- filename = "#{CACHE_PATH}/#{name}.json"
62
- file = File.new(filename,"w")
63
- file.write(attributes_json)
90
+ def descargar_berksfile
91
+ @berksfile = "#{CACHE_PATH}/#{@name}.berksfile"
92
+ berksfile_str = Lambom::ApiClient.new(conf).get_berksfile
93
+
94
+ file = File.new(@berksfile,"w")
95
+ file.write(berksfile_str)
64
96
  file.close
97
+ end
98
+
99
+
100
+ def berks_install
101
+ cmd = %W{
102
+ berks install -b #{@berksfile} -p #{DEFAULT_CHEF_PATH}/cookbooks
103
+ }
104
+
105
+ run_cmd *cmd
106
+
107
+ end
108
+
109
+
110
+ # def berks_install
111
+ # Berkshelf::Cli.new.invoke('berkshelf:install',
112
+ # ['-b',@berksfile,'-p',"#{DEFAULT_CHEF_PATH}/cookbooks"],
113
+ # :config => '/tmp/test')
114
+ # end
115
+
116
+
117
+ def ejecutar_converger
65
118
 
66
119
  cmd = %W{
67
120
  chef-solo
68
121
  -c #{CHEF_CONF_FILE}
69
122
  --log_level #{conf.loglevel}
70
- -j #{filename}
123
+ -j #{@json_file}
71
124
  }
72
125
 
73
126
  unless $debug
@@ -97,16 +150,6 @@ EOF
97
150
  switch_chef_conf(conf.environment.to_sym)
98
151
  end
99
152
 
100
- def descargar_cookbooks
101
- unless (conf.environment == 'development')
102
- # aqui podemos meter unha ejecucion de berkshelf para descargar os cookbooks necesarios
103
- temp = "/tmp/cookbooks.tar.gz"
104
- run_cmd('curl','-o',temp, '-L',COOKBOOKS_URL)
105
- FileUtils.mkdir_p(DEFAULT_CHEF_PATH) unless File.directory?(DEFAULT_CHEF_PATH)
106
- run_cmd('tar','xzf',temp,'--no-same-owner','-C', DEFAULT_CHEF_PATH)
107
- File.unlink(temp)
108
- end
109
- end
110
153
 
111
154
  def switch_chef_conf(env)
112
155
  FileUtils.mkdir_p(Lambom::Config::CONFIG_DIR) unless File.directory?(Lambom::Config::CONFIG_DIR)
@@ -1,3 +1,3 @@
1
1
  module Lambom
2
- VERSION = "0.3.5"
2
+ VERSION = "0.4.2"
3
3
  end
@@ -6,7 +6,8 @@ describe Lambom::ApiClient do
6
6
 
7
7
  conf.merge(environment: "production",
8
8
  server: "4586273f-f17a-4984-99ef-69c255e1b395",
9
- private_key_file: "spec/private_key.pem")
9
+ private_key_file: "spec/private_key.pem",
10
+ api_url: "http://172.17.42.1:3000/api/v1")
10
11
 
11
12
  api = Lambom::ApiClient.new(conf)
12
13
 
data/spec/config_spec.rb CHANGED
@@ -14,12 +14,18 @@ describe Lambom::Config do
14
14
  it "must have test file values" do
15
15
  expect(config.server).to eq("1ca71cd6-08c4-4855-9381-2f41aeffe59c")
16
16
  expect(config.environment).to eq("development")
17
- expect(config.private_key_file).to eq("/etc/riyic/private.pem")
17
+ expect(config.private_key_file).to eq("spec/private_key.pem")
18
18
  expect(config.loglevel).to eq("debug")
19
+ expect(config.berksfile).to eq("spec/test_berksfile")
20
+ expect(config.json_file).to eq("spec/test_json_file")
21
+ expect(config.cached).to eq(false)
22
+ expect(config.api_url).to eq("https://www.riyic.com/api/v1")
23
+ expect(config.download_tarball).to eq("https://www.riyic.com/cookbooks.tar.gz")
24
+
19
25
  end
20
26
 
21
27
  it "must have merged values" do
22
- merge_key_file = 'test.pem'
28
+ merge_key_file = 'spec/test_private_key.pem'
23
29
  merge_server = "1ca71cd6-08c4-4855-9381-111111111111"
24
30
  merge_env = 'test'
25
31
  merge_loglevel = 'info'
@@ -7,23 +7,14 @@ describe Lambom::Converger do
7
7
  conf.merge(:environment => "production",
8
8
  :server => "4586273f-f17a-4984-99ef-69c255e1b395",
9
9
  :private_key_file => "spec/private_key.pem",
10
- :loglevel => 'info' )
11
- json = <<EOF
12
- {
13
- "riyic": {
14
- "dockerized": "no",
15
- "updates_check_interval": "never",
16
- "env": "development"
17
- },
18
- "run_list": [
19
- "recipe[riyic::default]"
20
- ]
21
- }
22
- EOF
10
+ :loglevel => 'info',
11
+ :json_file => 'spec/test_json_file',
12
+ :api_url => 'http://172.17.42.1:3000/api/v1' )
13
+
23
14
 
24
15
  it "must run convergence tool" do
25
16
  expect{
26
- Lambom::Converger.new(conf, json).run
17
+ Lambom::Converger.new(conf).run
27
18
  }.not_to raise_error
28
19
  end
29
20
  end
File without changes
data/spec/test_config.yml CHANGED
@@ -1,4 +1,9 @@
1
1
  server: 1ca71cd6-08c4-4855-9381-2f41aeffe59c
2
2
  environment: development
3
- private_key_file: /etc/riyic/private.pem
3
+ private_key_file: spec/private_key.pem
4
4
  loglevel: debug
5
+ berksfile: spec/test_berksfile
6
+ json_file: spec/test_json_file
7
+ cached: false
8
+ api_url: https://www.riyic.com/api/v1
9
+ download_tarball: https://www.riyic.com/cookbooks.tar.gz
@@ -0,0 +1,10 @@
1
+ {
2
+ "riyic": {
3
+ "dockerized": "no",
4
+ "updates_check_interval": "never",
5
+ "env": "development"
6
+ },
7
+ "run_list": [
8
+ "recipe[riyic::default]"
9
+ ]
10
+ }
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lambom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-23 00:00:00.000000000 Z
12
+ date: 2014-01-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: oj
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '2.0'
21
+ version: 2.5.4
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '2.0'
29
+ version: 2.5.4
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: mixlib-authentication
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -34,7 +34,7 @@ dependencies:
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: '1.3'
37
+ version: 1.3.0
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: '1.3'
45
+ version: 1.3.0
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: mixlib-shellout
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -50,7 +50,39 @@ dependencies:
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: '1.3'
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
62
+ - !ruby/object:Gem::Dependency
63
+ name: chef
64
+ 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
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 2.0.12
54
86
  type: :runtime
55
87
  prerelease: false
56
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,7 +90,7 @@ dependencies:
58
90
  requirements:
59
91
  - - ~>
60
92
  - !ruby/object:Gem::Version
61
- version: '1.3'
93
+ version: 2.0.12
62
94
  - !ruby/object:Gem::Dependency
63
95
  name: rspec
64
96
  requirement: !ruby/object:Gem::Requirement
@@ -75,9 +107,11 @@ dependencies:
75
107
  - - ~>
76
108
  - !ruby/object:Gem::Version
77
109
  version: '2.0'
78
- description: Riyic is a server configuration service based on chef (http://riyic.com).
79
- The lambom gem is a tool to apply, through chef-solo, your riyic configurations
80
- in your server
110
+ description: ! "Riyic is a server configuration service based on chef (http://riyic.com).\nThe
111
+ lambom gem is a tool to apply chef configurations generated with the riyic service,
112
+ or defined in a pair of plain text files \n(a json attributes file where the server
113
+ configuration is detailed and a berkshelf file which specifies cookbooks restrictions
114
+ and sources).\n"
81
115
  email: alambike@gmail.com
82
116
  executables:
83
117
  - lambom
@@ -86,6 +120,7 @@ extra_rdoc_files: []
86
120
  files:
87
121
  - .gitignore
88
122
  - .rspec
123
+ - README.md
89
124
  - bin/lambom
90
125
  - lambom.gemspec
91
126
  - lib/lambom.rb
@@ -100,9 +135,12 @@ files:
100
135
  - spec/private_key.pem
101
136
  - spec/public_key.pem
102
137
  - spec/spec_helper.rb
138
+ - spec/test_berksfile
103
139
  - spec/test_config.yml
104
140
  - spec/test_config_bad_options.yml
105
141
  - spec/test_config_bad_yaml.yml
142
+ - spec/test_json_file
143
+ - spec/test_private_key.pem
106
144
  homepage: https://github.com/RIYIC/lambom
107
145
  licenses:
108
146
  - Apache-2.0
@@ -127,5 +165,5 @@ rubyforge_project:
127
165
  rubygems_version: 1.8.24
128
166
  signing_key:
129
167
  specification_version: 3
130
- summary: Tool to apply riyic configurations
168
+ summary: Tool to configure servers based on chef-solo and berkshelf
131
169
  test_files: []