chef_backup 0.0.1.dev.4 → 0.2.0.pre1

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.
Files changed (40) hide show
  1. checksums.yaml +5 -5
  2. data/lib/chef_backup/config.rb +22 -12
  3. data/lib/chef_backup/data_map.rb +18 -12
  4. data/lib/chef_backup/deep_merge.rb +145 -0
  5. data/lib/chef_backup/helpers.rb +154 -28
  6. data/lib/chef_backup/logger.rb +11 -6
  7. data/lib/chef_backup/mash.rb +226 -0
  8. data/lib/chef_backup/runner.rb +24 -21
  9. data/lib/chef_backup/strategy/backup/custom.rb +1 -2
  10. data/lib/chef_backup/strategy/backup/ebs.rb +3 -6
  11. data/lib/chef_backup/strategy/backup/lvm.rb +2 -4
  12. data/lib/chef_backup/strategy/backup/object.rb +2 -4
  13. data/lib/chef_backup/strategy/backup/tar.rb +96 -40
  14. data/lib/chef_backup/strategy/restore/tar.rb +81 -51
  15. data/lib/chef_backup/strategy.rb +10 -10
  16. data/lib/chef_backup/version.rb +1 -1
  17. data/lib/chef_backup.rb +8 -8
  18. metadata +21 -162
  19. data/.gitignore +0 -23
  20. data/.kitchen.yml +0 -30
  21. data/.rubocop.yml +0 -21
  22. data/.travis.yml +0 -6
  23. data/Gemfile +0 -4
  24. data/Guardfile +0 -22
  25. data/README.md +0 -21
  26. data/Rakefile +0 -44
  27. data/chef_backup.gemspec +0 -33
  28. data/spec/fixtures/chef-server-running.json +0 -589
  29. data/spec/spec_helper.rb +0 -103
  30. data/spec/unit/data_map_spec.rb +0 -59
  31. data/spec/unit/helpers_spec.rb +0 -88
  32. data/spec/unit/runner_spec.rb +0 -185
  33. data/spec/unit/shared_examples/helpers.rb +0 -20
  34. data/spec/unit/strategy/backup/lvm_spec.rb +0 -0
  35. data/spec/unit/strategy/backup/shared_examples/backup.rb +0 -92
  36. data/spec/unit/strategy/backup/tar_spec.rb +0 -294
  37. data/spec/unit/strategy/restore/lvm_spec.rb +0 -0
  38. data/spec/unit/strategy/restore/shared_examples/restore.rb +0 -84
  39. data/spec/unit/strategy/restore/tar_spec.rb +0 -238
  40. data/spec/unit/strategy_spec.rb +0 -36
@@ -1,7 +1,7 @@
1
- require 'fileutils'
2
- require 'pathname'
3
- require 'forwardable'
4
- require 'chef/mixin/deep_merge'
1
+ require "fileutils" unless defined?(FileUtils)
2
+ require "pathname" unless defined?(Pathname)
3
+ require "forwardable" unless defined?(Forwardable)
4
+ require "chef_backup/deep_merge"
5
5
 
6
6
  # rubocop:disable IndentationWidth
7
7
  module ChefBackup
@@ -11,23 +11,26 @@ class TarRestore
11
11
  # rubocop:enable IndentationWidth
12
12
  include ChefBackup::Helpers
13
13
  include ChefBackup::Exceptions
14
- include Chef::Mixin::DeepMerge
14
+ include ChefBackup::Mixin::DeepMerge
15
15
  extend Forwardable
16
16
 
17
17
  attr_accessor :tarball_path
18
+ attr_writer :manifest
18
19
 
19
20
  def_delegators :@log, :log
20
21
 
21
22
  def initialize(path)
22
23
  @tarball_path = path
23
- @log = ChefBackup::Logger.logger(private_chef['backup']['logfile'] || nil)
24
+ @log = ChefBackup::Logger.logger(service_config["backup"]["logfile"] || nil)
24
25
  end
25
26
 
26
27
  def restore
27
- log 'Restoring Chef Server from backup'
28
- cleanse_chef_server(config['agree_to_cleanse'])
29
- if manifest['topology'] == 'ha'
30
- log 'Performing HA restore - please ensure that keepalived is not running on the standby host'
28
+ log "Restoring Chef Server from backup"
29
+ return unless check_manifest_version
30
+
31
+ cleanse_chef_server(config["agree_to_cleanse"])
32
+ if ha?
33
+ log "Performing HA restore - please ensure that keepalived is not running on the standby host"
31
34
  fix_ha_plugins
32
35
  check_ha_volume
33
36
  touch_drbd_ready
@@ -35,69 +38,71 @@ class TarRestore
35
38
  restore_configs
36
39
  restore_services unless frontend?
37
40
  touch_sentinel
41
+ reconfigure_marketplace if marketplace?
38
42
  reconfigure_server
39
43
  update_config
40
44
  import_db if restore_db_dump?
41
45
  start_chef_server
46
+ reconfigure_add_ons
47
+ restart_add_ons
42
48
  cleanup
43
- log 'Restoration Completed!'
49
+ log "Restoration Completed!"
44
50
  end
45
51
 
46
52
  def manifest
47
53
  @manifest ||= begin
48
- manifest = File.expand_path(File.join(ChefBackup::Config['restore_dir'],
49
- 'manifest.json'))
54
+ manifest = File.expand_path(File.join(ChefBackup::Config["restore_dir"],
55
+ "manifest.json"))
50
56
  ensure_file!(manifest, InvalidManifest, "#{manifest} not found")
51
57
  JSON.parse(File.read(manifest))
52
58
  end
53
59
  end
54
60
 
55
61
  def restore_db_dump?
56
- manifest['services']['postgresql']['pg_dump_success'] && !frontend?
62
+ manifest["services"]["postgresql"]["pg_dump_success"] && !frontend?
57
63
  rescue NoMethodError
58
64
  false
59
65
  end
60
66
 
61
67
  def import_db
62
- start_service('postgresql')
63
- sql_file = File.join(ChefBackup::Config['restore_dir'],
64
- "chef_backup-#{manifest['backup_time']}.sql")
68
+ start_service("postgresql")
69
+ sql_file = File.join(ChefBackup::Config["restore_dir"],
70
+ "chef_backup-#{manifest["backup_time"]}.sql")
65
71
  ensure_file!(sql_file, InvalidDatabaseDump, "#{sql_file} not found")
66
72
 
67
- cmd = ['/opt/opscode/embedded/bin/chpst',
68
- "-u #{manifest['services']['postgresql']['username']}",
69
- '/opt/opscode/embedded/bin/psql',
70
- "-U #{manifest['services']['postgresql']['username']}",
71
- '-d opscode_chef',
72
- "< #{sql_file}"
73
- ].join(' ')
74
- log 'Importing Database dump'
75
- shell_out!(cmd)
73
+ cmd = [chpst,
74
+ "-u #{manifest["services"]["postgresql"]["username"]}",
75
+ pgsql,
76
+ "-U #{manifest["services"]["postgresql"]["username"]}",
77
+ "-d #{database_name}",
78
+ "< #{sql_file}"].join(" ")
79
+ log "Importing Database dump"
80
+ shell_out!(cmd, env: ["PGOPTIONS=#{pg_options}"])
76
81
  end
77
82
 
78
83
  def restore_services
79
- manifest.key?('services') && manifest['services'].keys.each do |service|
84
+ manifest.key?("services") && manifest["services"].keys.each do |service|
80
85
  restore_data(:services, service)
81
86
  end
82
87
  end
83
88
 
84
89
  def restore_configs
85
- manifest.key?('configs') && manifest['configs'].keys.each do |config|
90
+ manifest.key?("configs") && manifest["configs"].keys.each do |config|
86
91
  restore_data(:configs, config)
87
92
  end
88
93
  end
89
94
 
90
95
  def touch_sentinel
91
- dir = '/var/opt/opscode'
92
- sentinel = File.join(dir, 'bootstrapped')
96
+ dir = "/var/opt/opscode"
97
+ sentinel = File.join(dir, "bootstrapped")
93
98
  FileUtils.mkdir_p(dir) unless File.directory?(dir)
94
- File.open(sentinel, 'w') { |file| file.write 'bootstrapped!' }
99
+ File.open(sentinel, "w") { |file| file.write "bootstrapped!" }
95
100
  end
96
101
 
97
102
  def restore_data(type, name)
98
- source = File.expand_path(File.join(config['restore_dir'],
99
- manifest[type.to_s][name]['data_dir']))
100
- destination = manifest[type.to_s][name]['data_dir']
103
+ source = File.expand_path(File.join(config["restore_dir"],
104
+ manifest[type.to_s][name]["data_dir"]))
105
+ destination = manifest[type.to_s][name]["data_dir"]
101
106
  FileUtils.mkdir_p(destination) unless File.directory?(destination)
102
107
  cmd = "rsync -chaz --delete #{source}/ #{destination}"
103
108
  log "Restoring the #{name} data"
@@ -105,51 +110,76 @@ class TarRestore
105
110
  end
106
111
 
107
112
  def backup_name
108
- @backup_name ||= Pathname.new(tarball_path).basename.sub_ext('').to_s
113
+ @backup_name ||= Pathname.new(tarball_path).basename.sub_ext("").to_s
114
+ end
115
+
116
+ def check_manifest_version
117
+ unless manifest["versions"]
118
+ log "no version information in manifest"
119
+ return true
120
+ end
121
+
122
+ manifest["versions"].each_pair do |name, data|
123
+ installed = version_from_manifest_file(data["path"])
124
+
125
+ if installed == :no_version
126
+ log "Warning: #{name} @ #{data["version"]} not installed"
127
+ elsif installed["version"] != data["version"]
128
+ log "package #{name} #{installed["version"]} installed, but backup was"\
129
+ " from #{data["version"]}. Please install correct version, restore, then upgrade."
130
+ return false
131
+ end
132
+ end
133
+ true
109
134
  end
110
135
 
111
136
  def fix_ha_plugins
112
- log 'Fixing HA plugins directory (https://github.com/chef/chef-server/issues/115)'
113
- plugins_dir = '/var/opt/opscode/plugins'
114
- drbd_plugin = File.join(plugins_dir, 'chef-ha-drbd.rb')
137
+ log "Fixing HA plugins directory (https://github.com/chef/chef-server/issues/115)"
138
+ plugins_dir = "/var/opt/opscode/plugins"
139
+ drbd_plugin = File.join(plugins_dir, "chef-ha-drbd.rb")
115
140
 
116
141
  FileUtils.mkdir_p(plugins_dir) unless Dir.exist?(plugins_dir)
117
- FileUtils.ln_sf('/opt/opscode/chef-server-plugin.rb', drbd_plugin) unless
142
+ FileUtils.ln_sf("/opt/opscode/chef-server-plugin.rb", drbd_plugin) unless
118
143
  File.exist?(drbd_plugin)
119
144
  end
120
145
 
121
146
  def check_ha_volume
122
- log 'Checking that the HA storage volume is mounted'
123
- ha_data_dir = manifest['ha']['path']
147
+ log "Checking that the HA storage volume is mounted"
148
+ ha_data_dir = manifest["ha"]["path"]
124
149
 
125
150
  unless ha_data_dir_mounted?(ha_data_dir)
126
- fail "Please mount the data directory #{ha_data_dir} and perform any DRBD configuration before continuing"
151
+ raise "Please mount the data directory #{ha_data_dir} and perform any DRBD configuration before continuing"
127
152
  end
128
153
  end
129
154
 
130
155
  def ha_data_dir_mounted?(ha_data_dir)
131
- File.read('/proc/mounts').split("\n").grep(/#{ha_data_dir}/).count > 0
156
+ File.read("/proc/mounts").split("\n").grep(/#{ha_data_dir}/).count > 0
132
157
  end
133
158
 
134
159
  def touch_drbd_ready
135
- log 'Touching drbd_ready file'
136
- FileUtils.touch('/var/opt/opscode/drbd/drbd_ready') unless
137
- File.exist?('/var/opt/opscode/drbd/drbd_ready')
160
+ log "Touching drbd_ready file"
161
+ FileUtils.touch("/var/opt/opscode/drbd/drbd_ready") unless
162
+ File.exist?("/var/opt/opscode/drbd/drbd_ready")
138
163
  end
139
164
 
140
165
  def reconfigure_server
141
- log 'Reconfiguring the Chef Server'
142
- shell_out('chef-server-ctl reconfigure')
166
+ log "Reconfiguring the Chef Server"
167
+ shell_out("#{ctl_command} reconfigure")
143
168
  end
144
169
 
145
170
  def cleanse_chef_server(agree)
146
- log 'Cleaning up any old files'
147
- shell_out!("chef-server-ctl cleanse #{agree || ''}")
171
+ log "Cleaning up any old files"
172
+ # The chef-server-ctl cleanse command deliberately waits 60 seconds to give
173
+ # you an option to cancel it. Therefore, don't count it in the timeout that
174
+ # the user provided. If the user has eagerly dismissed that wait period,
175
+ # then don't elongate the timeout. The user can do this with the -c flag.
176
+ timeout = shell_timeout + (agree ? 0 : 60) if shell_timeout
177
+ shell_out!("#{ctl_command} cleanse #{agree || ""}", "timeout" => timeout)
148
178
  end
149
179
 
150
180
  def running_config
151
181
  @running_config ||=
152
- JSON.parse(File.read('/etc/opscode/chef-server-running.json')) || {}
182
+ JSON.parse(File.read(running_filepath)) || {}
153
183
  end
154
184
 
155
185
  def update_config
@@ -2,16 +2,16 @@
2
2
  #
3
3
  # All Rights Reserved
4
4
 
5
- require 'chef_backup/strategy/backup/tar'
6
- require 'chef_backup/strategy/backup/lvm'
7
- require 'chef_backup/strategy/backup/ebs'
8
- require 'chef_backup/strategy/backup/object'
9
- require 'chef_backup/strategy/backup/custom'
10
- require 'chef_backup/strategy/restore/tar'
11
- require 'chef_backup/strategy/restore/lvm'
12
- require 'chef_backup/strategy/restore/ebs'
13
- require 'chef_backup/strategy/restore/object'
14
- require 'chef_backup/strategy/restore/custom'
5
+ require "chef_backup/strategy/backup/tar"
6
+ require "chef_backup/strategy/backup/lvm"
7
+ require "chef_backup/strategy/backup/ebs"
8
+ require "chef_backup/strategy/backup/object"
9
+ require "chef_backup/strategy/backup/custom"
10
+ require "chef_backup/strategy/restore/tar"
11
+ require "chef_backup/strategy/restore/lvm"
12
+ require "chef_backup/strategy/restore/ebs"
13
+ require "chef_backup/strategy/restore/object"
14
+ require "chef_backup/strategy/restore/custom"
15
15
 
16
16
  module ChefBackup
17
17
  # ChefBackup::Strategy factory returns an ChefBackup::Strategy object
@@ -1,4 +1,4 @@
1
1
  # ChefBackup module
2
2
  module ChefBackup
3
- VERSION = '0.0.1.dev.4'
3
+ VERSION = "0.1.1".freeze
4
4
  end
data/lib/chef_backup.rb CHANGED
@@ -2,11 +2,11 @@
2
2
  #
3
3
  # All Rights Reserved
4
4
 
5
- require 'chef_backup/version'
6
- require 'chef_backup/exceptions'
7
- require 'chef_backup/config'
8
- require 'chef_backup/logger'
9
- require 'chef_backup/data_map'
10
- require 'chef_backup/helpers'
11
- require 'chef_backup/runner'
12
- require 'chef_backup/strategy'
5
+ require "chef_backup/version"
6
+ require "chef_backup/exceptions"
7
+ require "chef_backup/config"
8
+ require "chef_backup/logger"
9
+ require "chef_backup/data_map"
10
+ require "chef_backup/helpers"
11
+ require "chef_backup/runner"
12
+ require "chef_backup/strategy"
metadata CHANGED
@@ -1,93 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef_backup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.dev.4
4
+ version: 0.2.0.pre1
5
5
  platform: ruby
6
6
  authors:
7
- - Ryan Cragun
7
+ - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-13 00:00:00.000000000 Z
11
+ date: 2021-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: di-ruby-lvm
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: mixlib-shellout
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - ">="
32
18
  - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: highline
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
19
+ version: '2.0'
20
+ - - "<"
46
21
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: chef
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
22
+ version: '4.0'
62
23
  type: :runtime
63
24
  prerelease: false
64
25
  version_requirements: !ruby/object:Gem::Requirement
65
26
  requirements:
66
27
  - - ">="
67
28
  - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: bundler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '1.6'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
29
+ version: '2.0'
30
+ - - "<"
81
31
  - !ruby/object:Gem::Version
82
- version: '1.6'
32
+ version: '4.0'
83
33
  - !ruby/object:Gem::Dependency
84
- name: rake
34
+ name: pastel
85
35
  requirement: !ruby/object:Gem::Requirement
86
36
  requirements:
87
37
  - - ">="
88
38
  - !ruby/object:Gem::Version
89
39
  version: '0'
90
- type: :development
40
+ type: :runtime
91
41
  prerelease: false
92
42
  version_requirements: !ruby/object:Gem::Requirement
93
43
  requirements:
@@ -95,98 +45,35 @@ dependencies:
95
45
  - !ruby/object:Gem::Version
96
46
  version: '0'
97
47
  - !ruby/object:Gem::Dependency
98
- name: rspec
48
+ name: tty-prompt
99
49
  requirement: !ruby/object:Gem::Requirement
100
50
  requirements:
101
51
  - - "~>"
102
52
  - !ruby/object:Gem::Version
103
- version: '3.0'
104
- type: :development
53
+ version: '0.21'
54
+ type: :runtime
105
55
  prerelease: false
106
56
  version_requirements: !ruby/object:Gem::Requirement
107
57
  requirements:
108
58
  - - "~>"
109
59
  - !ruby/object:Gem::Version
110
- version: '3.0'
111
- - !ruby/object:Gem::Dependency
112
- name: guard-rspec
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: pry-rescue
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: rubocop
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: 0.32.1
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: 0.32.1
153
- - !ruby/object:Gem::Dependency
154
- name: simplecov
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
60
+ version: '0.21'
167
61
  description: A library to backup a Chef Server
168
62
  email:
169
- - me@ryan.ec
63
+ - oss@chef.io
170
64
  executables: []
171
65
  extensions: []
172
66
  extra_rdoc_files: []
173
67
  files:
174
- - ".gitignore"
175
- - ".kitchen.yml"
176
- - ".rubocop.yml"
177
- - ".travis.yml"
178
- - Gemfile
179
- - Guardfile
180
68
  - LICENSE
181
- - README.md
182
- - Rakefile
183
- - chef_backup.gemspec
184
69
  - lib/chef_backup.rb
185
70
  - lib/chef_backup/config.rb
186
71
  - lib/chef_backup/data_map.rb
72
+ - lib/chef_backup/deep_merge.rb
187
73
  - lib/chef_backup/exceptions.rb
188
74
  - lib/chef_backup/helpers.rb
189
75
  - lib/chef_backup/logger.rb
76
+ - lib/chef_backup/mash.rb
190
77
  - lib/chef_backup/runner.rb
191
78
  - lib/chef_backup/strategy.rb
192
79
  - lib/chef_backup/strategy/backup/custom.rb
@@ -200,22 +87,9 @@ files:
200
87
  - lib/chef_backup/strategy/restore/object.rb
201
88
  - lib/chef_backup/strategy/restore/tar.rb
202
89
  - lib/chef_backup/version.rb
203
- - spec/fixtures/chef-server-running.json
204
- - spec/spec_helper.rb
205
- - spec/unit/data_map_spec.rb
206
- - spec/unit/helpers_spec.rb
207
- - spec/unit/runner_spec.rb
208
- - spec/unit/shared_examples/helpers.rb
209
- - spec/unit/strategy/backup/lvm_spec.rb
210
- - spec/unit/strategy/backup/shared_examples/backup.rb
211
- - spec/unit/strategy/backup/tar_spec.rb
212
- - spec/unit/strategy/restore/lvm_spec.rb
213
- - spec/unit/strategy/restore/shared_examples/restore.rb
214
- - spec/unit/strategy/restore/tar_spec.rb
215
- - spec/unit/strategy_spec.rb
216
90
  homepage: https://github.com/chef/chef_backup
217
91
  licenses:
218
- - Apachev2
92
+ - Apache-2.0
219
93
  metadata: {}
220
94
  post_install_message:
221
95
  rdoc_options: []
@@ -232,23 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
232
106
  - !ruby/object:Gem::Version
233
107
  version: 1.3.1
234
108
  requirements: []
235
- rubyforge_project:
236
- rubygems_version: 2.2.3
109
+ rubygems_version: 3.1.6
237
110
  signing_key:
238
111
  specification_version: 4
239
112
  summary: A library to backup a Chef Server
240
- test_files:
241
- - spec/fixtures/chef-server-running.json
242
- - spec/spec_helper.rb
243
- - spec/unit/data_map_spec.rb
244
- - spec/unit/helpers_spec.rb
245
- - spec/unit/runner_spec.rb
246
- - spec/unit/shared_examples/helpers.rb
247
- - spec/unit/strategy/backup/lvm_spec.rb
248
- - spec/unit/strategy/backup/shared_examples/backup.rb
249
- - spec/unit/strategy/backup/tar_spec.rb
250
- - spec/unit/strategy/restore/lvm_spec.rb
251
- - spec/unit/strategy/restore/shared_examples/restore.rb
252
- - spec/unit/strategy/restore/tar_spec.rb
253
- - spec/unit/strategy_spec.rb
254
- has_rdoc:
113
+ test_files: []
data/.gitignore DELETED
@@ -1,23 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- *.bundle
19
- *.so
20
- *.o
21
- *.a
22
- mkmf.log
23
- *.sw*
data/.kitchen.yml DELETED
@@ -1,30 +0,0 @@
1
- driver:
2
- name: vagrant
3
- forward_agent: true
4
- customize:
5
- cpus: 2
6
- memory: 2048
7
- synced_folders:
8
- - ['.', '/home/vagrant/chef_backup']
9
- - ['../../opscode/chef_packages/', '/home/vagrant/chef_packages']
10
-
11
- provisioner:
12
- name: chef_zero
13
- require_chef_omnibus: 11.16.4
14
-
15
- platforms:
16
- - name: ubuntu-14.04
17
- run_list: apt::default
18
- - name: ubuntu-12.04
19
- run_list: apt::default
20
- - name: ubuntu-11.04
21
- run_list: apt::default
22
- - name: ubuntu-10.04
23
- run_list: apt::default
24
- - name: centos-5.10
25
- - name: centos-6.5
26
-
27
- suites:
28
- - name: default
29
- attributes:
30
- run_list:
data/.rubocop.yml DELETED
@@ -1,21 +0,0 @@
1
- Style/ClassAndModuleChildren:
2
- Enabled: false
3
- Style/GuardClause:
4
- Enabled: false
5
- Metrics/LineLength:
6
- Max: 120
7
- Metrics/ClassLength:
8
- Max: 200
9
- Metrics/ModuleLength:
10
- Max: 200
11
- Metrics/CyclomaticComplexity:
12
- Max: 10
13
- Metrics/PerceivedComplexity:
14
- Max: 10
15
- Metrics/MethodLength:
16
- Max: 40
17
- Metrics/AbcSize:
18
- Max: 40
19
- AllCops:
20
- Exclude:
21
- - 'Guardfile'
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - "2.1.5"
4
- - "2.2.0"
5
- notifications:
6
- email: false
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in ec_backup.gemspec
4
- gemspec
data/Guardfile DELETED
@@ -1,22 +0,0 @@
1
- # A sample Guardfile
2
- # More info at https://github.com/guard/guard#readme
3
-
4
- # Note: The cmd option is now required due to the increasing number of ways
5
- # rspec may be run, below are examples of the most common uses.
6
- # * bundler: 'bundle exec rspec'
7
- # * bundler binstubs: 'bin/rspec'
8
- # * spring: 'bin/rsspec' (This will use spring if running and you have
9
- # installed the spring binstubs per the docs)
10
- # * zeus: 'zeus rspec' (requires the server to be started separetly)
11
- # * 'just' rspec: 'rspec'
12
- guard :rspec, cmd: 'bundle exec rspec -f doc --color', all_after_pass: true do
13
- watch(%r{^spec/.+/.+_spec\.rb$})
14
- watch(%r{^spec/.+/.+/.+_spec\.rb$})
15
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
16
- watch(%r{^lib/chef_backup/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
17
- watch(%r{^lib/chef_backup/(.+)/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}/#{m[2]}_spec.rb" }
18
- watch(%r{^lib/chef_backup/(.+)/(.+)/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}/#{m[2]}/#{m[3]}_spec.rb" }
19
- watch('spec/spec_helper.rb') { "spec" }
20
- end
21
-
22
- notification :tmux