bagboy 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +34 -0
  4. data/app/assets/javascripts/bagboy/application.js +16 -0
  5. data/app/assets/javascripts/bagboy/form.coffee +4 -0
  6. data/app/assets/javascripts/bagboy/foundation.min.js +10 -0
  7. data/app/assets/javascripts/bagboy/jquery.js +26 -0
  8. data/app/assets/javascripts/bagboy/modernizr.js +8 -0
  9. data/app/assets/javascripts/bagboy/pages.coffee +3 -0
  10. data/app/assets/javascripts/bagboy/sessions.js +2 -0
  11. data/app/assets/javascripts/bagboy/users.js +2 -0
  12. data/app/assets/stylesheets/bagboy/application.scss +18 -0
  13. data/app/assets/stylesheets/bagboy/foundation.css +5263 -0
  14. data/app/assets/stylesheets/bagboy/normalize.css +423 -0
  15. data/app/assets/stylesheets/bagboy/pages.scss +20 -0
  16. data/app/controllers/bagboy/application_controller.rb +36 -0
  17. data/app/controllers/bagboy/data_bag_items_controller.rb +50 -0
  18. data/app/controllers/bagboy/data_bag_template_items_controller.rb +25 -0
  19. data/app/controllers/bagboy/data_bag_templates_controller.rb +16 -0
  20. data/app/controllers/bagboy/data_bags_controller.rb +40 -0
  21. data/app/controllers/bagboy/pages_controller.rb +20 -0
  22. data/app/controllers/bagboy/sessions_controller.rb +27 -0
  23. data/app/controllers/bagboy/users_controller.rb +58 -0
  24. data/app/helpers/bagboy/application_helper.rb +4 -0
  25. data/app/helpers/bagboy/pages_helper.rb +4 -0
  26. data/app/helpers/bagboy/sessions_helper.rb +4 -0
  27. data/app/helpers/bagboy/users_helper.rb +4 -0
  28. data/app/models/bagboy/template.rb +33 -0
  29. data/app/models/bagboy/user.rb +9 -0
  30. data/app/views/bagboy/data_bag_items/_form.html.haml +20 -0
  31. data/app/views/bagboy/data_bag_items/edit.html.haml +18 -0
  32. data/app/views/bagboy/data_bag_items/index.html.haml +29 -0
  33. data/app/views/bagboy/data_bag_items/new.html.haml +22 -0
  34. data/app/views/bagboy/data_bag_templates/show.html.haml +45 -0
  35. data/app/views/bagboy/data_bags/_form.html.haml +10 -0
  36. data/app/views/bagboy/data_bags/index.html.haml +23 -0
  37. data/app/views/bagboy/data_bags/new.html.haml +10 -0
  38. data/app/views/bagboy/data_bags/show.html.haml +32 -0
  39. data/app/views/bagboy/pages/index.html.haml +29 -0
  40. data/app/views/bagboy/sessions/new.html.haml +17 -0
  41. data/app/views/bagboy/users/_form.html.haml +15 -0
  42. data/app/views/bagboy/users/edit.html.haml +13 -0
  43. data/app/views/bagboy/users/index.html.haml +27 -0
  44. data/app/views/bagboy/users/new.html.haml +10 -0
  45. data/app/views/bagboy/users/show.html.haml +11 -0
  46. data/app/views/layouts/bagboy/_form_errors.html.haml +7 -0
  47. data/app/views/layouts/bagboy/_header.html.haml +51 -0
  48. data/app/views/layouts/bagboy/application.html.haml +20 -0
  49. data/config/initializers/gems.rb +1 -0
  50. data/config/routes.rb +37 -0
  51. data/db/migrate/20140506101012_create_bagboy_users.rb +10 -0
  52. data/db/migrate/20140507134332_create_bagboy_templates.rb +9 -0
  53. data/lib/bagboy.rb +21 -0
  54. data/lib/bagboy/chef/data_bags/bag.rb +74 -0
  55. data/lib/bagboy/chef/data_bags/item.rb +100 -0
  56. data/lib/bagboy/chef/data_bags_helper.rb +48 -0
  57. data/lib/bagboy/chef/knife.rb +39 -0
  58. data/lib/bagboy/core/file_helper.rb +25 -0
  59. data/lib/bagboy/core/scm/base.rb +17 -0
  60. data/lib/bagboy/core/scm/git.rb +33 -0
  61. data/lib/bagboy/core/scm/none.rb +19 -0
  62. data/lib/bagboy/core/scm_helper.rb +37 -0
  63. data/lib/bagboy/engine.rb +14 -0
  64. data/lib/bagboy/version.rb +3 -0
  65. data/lib/tasks/bagboy_tasks.rake +4 -0
  66. metadata +304 -0
@@ -0,0 +1,100 @@
1
+ require 'json'
2
+ require 'digest/sha2'
3
+
4
+ module Bagboy
5
+ module Chef
6
+ module DataBags
7
+ class Item
8
+
9
+ attr_reader :name
10
+
11
+ def initialize(opts = {})
12
+ @path = opts[:path] || ''
13
+ @file = opts[:file] || Core::FileHelper.instance
14
+ @name = opts[:name] || ''
15
+ @bag = opts[:bag] || ''
16
+ @scm = opts[:scm] || Core::SCMHelper.instance
17
+ @knife = opts[:knife] || Bagboy::Chef::Knife.instance
18
+ @data = {}
19
+ end
20
+
21
+ def data
22
+ if File.exists?(@path.to_s) and @data.empty?
23
+ @data = JSON.parse @file.read(@path)
24
+ else
25
+ @data
26
+ end
27
+ end
28
+
29
+ def update (values, fields)
30
+ pull
31
+ text = parse_data(values, fields)
32
+ @file.write @path, text
33
+ sync
34
+ commit
35
+ @data
36
+ end
37
+
38
+ def sync
39
+ @knife.update_item(@bag, @name)
40
+ end
41
+
42
+ private
43
+
44
+ def pull
45
+ @scm.pull
46
+ end
47
+
48
+ def commit
49
+ @scm.commit(@path, "Data Bag: #{@bag} | Item: #{@name}")
50
+ end
51
+
52
+ def parse_data (values, fields)
53
+ values.try(:each) do |key, value|
54
+ value = clean_value key, value, fields
55
+ if fields[key] == 'password'
56
+ values[key] = create_password value
57
+ else
58
+ values[key] = value
59
+ end
60
+ end
61
+ @data = values.to_h
62
+ JSON.pretty_generate(@data)
63
+ end
64
+
65
+ def clean_value(key, value, fields)
66
+ if fields[key] == 'text' or fields[key] == 'password'
67
+ strip value
68
+ elsif fields[key] == 'array'
69
+ value.reject { |c| c.to_s.empty? }
70
+ else
71
+ value
72
+ end
73
+ end
74
+
75
+ def strip(string)
76
+ tmp = string.strip!
77
+ (tmp != nil) ? tmp : string
78
+ end
79
+
80
+ def create_password (password)
81
+ if password.to_s.empty?
82
+ clean_password
83
+ else
84
+ hash_password password
85
+ end
86
+ end
87
+
88
+ def clean_password
89
+ data['password'].to_s.tr("\n", '')
90
+ end
91
+
92
+ def hash_password password
93
+ cmd = "openssl passwd -1 '#{password}'"
94
+ `#{cmd}`.tr("\n", "")
95
+ end
96
+
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,48 @@
1
+ require_relative 'data_bags/bag'
2
+ require_relative 'data_bags/item'
3
+
4
+ module Bagboy
5
+ module Chef
6
+ class DataBagsHelper
7
+
8
+ include Singleton
9
+
10
+ def initialize
11
+ @file = Core::FileHelper.instance
12
+ end
13
+
14
+ def setup( opts )
15
+ @file = opts[:file] if opts[:file]
16
+ end
17
+
18
+ def data_bag ( bag_name )
19
+ DataBags::Bag.new( {path: data_bag_directory( bag_name ), name: bag_name} )
20
+ end
21
+
22
+ def data_bags
23
+ get_data_bags data_bags_directory
24
+ end
25
+
26
+ def data_bags_directory
27
+ File.join( Bagboy.chef_repo, 'data_bags' )
28
+ end
29
+
30
+ def data_bag_directory( bag )
31
+ File.join( Bagboy.chef_repo, 'data_bags', bag )
32
+ end
33
+
34
+ private
35
+
36
+ def get_data_bags( path )
37
+ files = @file.get_directories( path )
38
+ bags = []
39
+ files.each do |file|
40
+ bag = data_bag( file )
41
+ bags << bag
42
+ end
43
+ bags
44
+ end
45
+
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,39 @@
1
+ module Bagboy
2
+ module Chef
3
+ class Knife
4
+
5
+ include Singleton
6
+
7
+ def setup( opts={} )
8
+
9
+ end
10
+
11
+ def update_item ( data_bag, item )
12
+ execute_command knife_command('data bag', "from file #{data_bag} #{item}.json")
13
+ end
14
+
15
+ def create_data_bag ( data_bag )
16
+ execute_command knife_command('data bag', "create #{data_bag}")
17
+ end
18
+
19
+ def knife_command ( command, subcommand )
20
+ "cd #{Bagboy.chef_repo}; knife #{command} #{key_config.to_s}#{config_file_config.to_s}#{subcommand}"
21
+ end
22
+
23
+ private
24
+
25
+ def key_config
26
+ "-k #{Bagboy.key_path} " if Bagboy.key_path != ''
27
+ end
28
+
29
+ def config_file_config
30
+ "-c #{Bagboy.config_path} " if Bagboy.config_path != ''
31
+ end
32
+
33
+ def execute_command cmd
34
+ `#{cmd}`
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,25 @@
1
+ module Bagboy
2
+ module Core
3
+ class FileHelper
4
+
5
+ include Singleton
6
+
7
+ def get_directories ( path)
8
+ Dir.entries(path).select { |entry| File.directory?(File.join(path, entry)) and !(entry == '.' || entry == '..')}.sort
9
+ end
10
+
11
+ def get_files( path )
12
+ Dir.entries(path).select { |entry| !(entry == '.' || entry == '..')}.sort
13
+ end
14
+
15
+ def read( path )
16
+ File.read path
17
+ end
18
+
19
+ def write ( path, text )
20
+ File.open(path, 'w') { |file| file.write(text) }
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+ module Bagboy
2
+ module Core
3
+ module SCM
4
+ class Base
5
+
6
+ def pull
7
+ raise NotImplementedError
8
+ end
9
+
10
+ def commit( file, message )
11
+ raise NotImplementedError
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,33 @@
1
+ require 'pathname'
2
+
3
+ module Bagboy
4
+ module Core
5
+ module SCM
6
+ class Git < Base
7
+
8
+ include Singleton
9
+
10
+ def pull
11
+ execute_command "cd #{Bagboy.chef_repo}; git pull"
12
+ end
13
+
14
+ def commit( file, message )
15
+ execute_command "cd #{Bagboy.chef_repo}; git add '#{clean_filename file}'; git commit '#{clean_filename file}' -m '#{message}'; git push"
16
+ end
17
+
18
+ private
19
+
20
+ def execute_command cmd
21
+ `#{cmd}`
22
+ end
23
+
24
+ def clean_filename( file )
25
+ absolute = Pathname.new(file)
26
+ root = Pathname.new(Bagboy.chef_repo)
27
+ relative = absolute.relative_path_from(root)
28
+ end
29
+
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,19 @@
1
+ module Bagboy
2
+ module Core
3
+ module SCM
4
+ class None < Base
5
+
6
+ include Singleton
7
+
8
+ def pull
9
+ true
10
+ end
11
+
12
+ def commit( file, message )
13
+ true
14
+ end
15
+
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,37 @@
1
+ require_relative 'scm/base'
2
+ require_relative 'scm/git'
3
+ require_relative 'scm/none'
4
+
5
+ module Bagboy
6
+ module Core
7
+ class SCMHelper
8
+
9
+ include Singleton
10
+
11
+ attr_reader :scm
12
+
13
+ def setup ( opts = {} )
14
+ @scm = opts[:scm]
15
+ end
16
+
17
+ def connect
18
+ if Bagboy.scm == 'git'
19
+ @scm ||= SCM::Git.instance
20
+ else
21
+ @scm ||= SCM::None.instance
22
+ end
23
+ end
24
+
25
+ def pull
26
+ connect
27
+ @scm.pull
28
+ end
29
+
30
+ def commit( file, message )
31
+ connect
32
+ @scm.commit( file, message )
33
+ end
34
+
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,14 @@
1
+ module Bagboy
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace Bagboy
4
+
5
+ config.generators do |g|
6
+ g.test_framework :rspec, :fixture => false
7
+ g.template_engine :haml
8
+ g.fixture_replacement :factory_girl, :dir => 'spec/factories'
9
+ g.assets false
10
+ g.helper false
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,3 @@
1
+ module Bagboy
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :bagboy do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,304 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bagboy
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Thomas Muntaner
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-03-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sass-rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '4.2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '4.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: haml-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.9'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.9'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bcrypt-ruby
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.1'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: chef
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '12.19'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '12.19'
83
+ - !ruby/object:Gem::Dependency
84
+ name: coffee-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '4.2'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '4.2'
97
+ - !ruby/object:Gem::Dependency
98
+ name: sqlite3
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.3'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.3'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec-rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.5'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '3.5'
125
+ - !ruby/object:Gem::Dependency
126
+ name: capybara
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.12'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.12'
139
+ - !ruby/object:Gem::Dependency
140
+ name: factory_girl_rails
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '4.8'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '4.8'
153
+ - !ruby/object:Gem::Dependency
154
+ name: database_cleaner
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '='
158
+ - !ruby/object:Gem::Version
159
+ version: '1.5'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - '='
165
+ - !ruby/object:Gem::Version
166
+ version: '1.5'
167
+ - !ruby/object:Gem::Dependency
168
+ name: pry
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0.10'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0.10'
181
+ - !ruby/object:Gem::Dependency
182
+ name: better_errors
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '2.1'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '2.1'
195
+ - !ruby/object:Gem::Dependency
196
+ name: binding_of_caller
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '0.7'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '0.7'
209
+ description: Creates data bags for chef.
210
+ email:
211
+ - thomas.muntaner@gmail.com
212
+ executables: []
213
+ extensions: []
214
+ extra_rdoc_files: []
215
+ files:
216
+ - MIT-LICENSE
217
+ - Rakefile
218
+ - app/assets/javascripts/bagboy/application.js
219
+ - app/assets/javascripts/bagboy/form.coffee
220
+ - app/assets/javascripts/bagboy/foundation.min.js
221
+ - app/assets/javascripts/bagboy/jquery.js
222
+ - app/assets/javascripts/bagboy/modernizr.js
223
+ - app/assets/javascripts/bagboy/pages.coffee
224
+ - app/assets/javascripts/bagboy/sessions.js
225
+ - app/assets/javascripts/bagboy/users.js
226
+ - app/assets/stylesheets/bagboy/application.scss
227
+ - app/assets/stylesheets/bagboy/foundation.css
228
+ - app/assets/stylesheets/bagboy/normalize.css
229
+ - app/assets/stylesheets/bagboy/pages.scss
230
+ - app/controllers/bagboy/application_controller.rb
231
+ - app/controllers/bagboy/data_bag_items_controller.rb
232
+ - app/controllers/bagboy/data_bag_template_items_controller.rb
233
+ - app/controllers/bagboy/data_bag_templates_controller.rb
234
+ - app/controllers/bagboy/data_bags_controller.rb
235
+ - app/controllers/bagboy/pages_controller.rb
236
+ - app/controllers/bagboy/sessions_controller.rb
237
+ - app/controllers/bagboy/users_controller.rb
238
+ - app/helpers/bagboy/application_helper.rb
239
+ - app/helpers/bagboy/pages_helper.rb
240
+ - app/helpers/bagboy/sessions_helper.rb
241
+ - app/helpers/bagboy/users_helper.rb
242
+ - app/models/bagboy/template.rb
243
+ - app/models/bagboy/user.rb
244
+ - app/views/bagboy/data_bag_items/_form.html.haml
245
+ - app/views/bagboy/data_bag_items/edit.html.haml
246
+ - app/views/bagboy/data_bag_items/index.html.haml
247
+ - app/views/bagboy/data_bag_items/new.html.haml
248
+ - app/views/bagboy/data_bag_templates/show.html.haml
249
+ - app/views/bagboy/data_bags/_form.html.haml
250
+ - app/views/bagboy/data_bags/index.html.haml
251
+ - app/views/bagboy/data_bags/new.html.haml
252
+ - app/views/bagboy/data_bags/show.html.haml
253
+ - app/views/bagboy/pages/index.html.haml
254
+ - app/views/bagboy/sessions/new.html.haml
255
+ - app/views/bagboy/users/_form.html.haml
256
+ - app/views/bagboy/users/edit.html.haml
257
+ - app/views/bagboy/users/index.html.haml
258
+ - app/views/bagboy/users/new.html.haml
259
+ - app/views/bagboy/users/show.html.haml
260
+ - app/views/layouts/bagboy/_form_errors.html.haml
261
+ - app/views/layouts/bagboy/_header.html.haml
262
+ - app/views/layouts/bagboy/application.html.haml
263
+ - config/initializers/gems.rb
264
+ - config/routes.rb
265
+ - db/migrate/20140506101012_create_bagboy_users.rb
266
+ - db/migrate/20140507134332_create_bagboy_templates.rb
267
+ - lib/bagboy.rb
268
+ - lib/bagboy/chef/data_bags/bag.rb
269
+ - lib/bagboy/chef/data_bags/item.rb
270
+ - lib/bagboy/chef/data_bags_helper.rb
271
+ - lib/bagboy/chef/knife.rb
272
+ - lib/bagboy/core/file_helper.rb
273
+ - lib/bagboy/core/scm/base.rb
274
+ - lib/bagboy/core/scm/git.rb
275
+ - lib/bagboy/core/scm/none.rb
276
+ - lib/bagboy/core/scm_helper.rb
277
+ - lib/bagboy/engine.rb
278
+ - lib/bagboy/version.rb
279
+ - lib/tasks/bagboy_tasks.rake
280
+ homepage: https://github.com/rubyrainbows/bagboy
281
+ licenses:
282
+ - MIT
283
+ metadata: {}
284
+ post_install_message:
285
+ rdoc_options: []
286
+ require_paths:
287
+ - lib
288
+ required_ruby_version: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ required_rubygems_version: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - ">="
296
+ - !ruby/object:Gem::Version
297
+ version: '0'
298
+ requirements: []
299
+ rubyforge_project:
300
+ rubygems_version: 2.6.8
301
+ signing_key:
302
+ specification_version: 4
303
+ summary: Creates data bags for chef.
304
+ test_files: []