chef_backup 0.0.1.dev.2 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +5 -5
  2. data/lib/chef_backup.rb +8 -8
  3. data/lib/chef_backup/config.rb +22 -12
  4. data/lib/chef_backup/data_map.rb +23 -9
  5. data/lib/chef_backup/deep_merge.rb +145 -0
  6. data/lib/chef_backup/helpers.rb +169 -27
  7. data/lib/chef_backup/logger.rb +2 -2
  8. data/lib/chef_backup/mash.rb +226 -0
  9. data/lib/chef_backup/runner.rb +19 -14
  10. data/lib/chef_backup/strategy.rb +10 -10
  11. data/lib/chef_backup/strategy/backup/custom.rb +1 -2
  12. data/lib/chef_backup/strategy/backup/ebs.rb +3 -6
  13. data/lib/chef_backup/strategy/backup/lvm.rb +2 -4
  14. data/lib/chef_backup/strategy/backup/object.rb +2 -4
  15. data/lib/chef_backup/strategy/backup/tar.rb +116 -35
  16. data/lib/chef_backup/strategy/restore/tar.rb +103 -38
  17. data/lib/chef_backup/version.rb +1 -1
  18. metadata +22 -170
  19. data/.gitignore +0 -23
  20. data/.kitchen.yml +0 -30
  21. data/.rubocop.yml +0 -17
  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 -584
  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 -74
  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
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,17 +0,0 @@
1
- Style/ClassAndModuleChildren:
2
- Enabled: false
3
- Style/GuardClause:
4
- Enabled: false
5
- Metrics/ClassLength:
6
- Max: 200
7
- Metrics/CyclomaticComplexity:
8
- Max: 10
9
- Metrics/PerceivedComplexity:
10
- Max: 10
11
- Metrics/MethodLength:
12
- Max: 40
13
- Metrics/AbcSize:
14
- Max: 25
15
- AllCops:
16
- Exclude:
17
- - '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
data/README.md DELETED
@@ -1,21 +0,0 @@
1
- # ChefBackup
2
- [![Build Status](https://travis-ci.org/chef/chef_backup.svg?branch=master)](https://travis-ci.org/chef/chef_backup)
3
- [![Gem Version](https://badge.fury.io/rb/chef_backup.svg)](http://badge.fury.io/rb/chef_backup)
4
-
5
- A gem that backs up and restores Chef servers. Used as the backend for
6
- `chef-server-ctl backup` and `chef-server-ctl restore`
7
-
8
- ## Usage
9
-
10
- ```shell
11
- chef-server-ctl backup
12
- chef-server-ctl restore some_backup.tgz
13
- ```
14
-
15
- ## Contributing
16
-
17
- 1. Fork it ( https://github.com/chef/chef_backup/fork )
18
- 2. Create your feature branch (`git checkout -b my-new-feature`)
19
- 3. Commit your changes (`git commit -am 'Add some feature'`)
20
- 4. Push to the branch (`git push origin my-new-feature`)
21
- 5. Create a new Pull Request
data/Rakefile DELETED
@@ -1,44 +0,0 @@
1
- #!/usr/bin/env rake
2
-
3
- require 'rake'
4
- require 'rspec'
5
- require 'rspec/core'
6
- require 'rspec/core/rake_task'
7
- require 'bundler'
8
- require 'bundler/gem_tasks'
9
- require 'rubocop/rake_task'
10
-
11
- desc 'Default task to run spec suite'
12
- task default: %w(spec rubocop)
13
-
14
- desc 'Run spec suite'
15
- RSpec::Core::RakeTask.new(:spec) do |task|
16
- task.pattern = FileList['spec/**/*_spec.rb']
17
- end
18
-
19
- desc 'Run RSpec with code coverage'
20
- task :coverage do
21
- ENV['COVERAGE'] = 'true'
22
- Rake::Task['spec'].execute
23
- end
24
-
25
- desc 'Run Rubocop style checks'
26
- RuboCop::RakeTask.new do |cop|
27
- cop.fail_on_error = true
28
- end
29
-
30
- desc 'console'
31
- task :console do
32
- require 'pry'
33
- require 'chef_backup'
34
- require 'json'
35
- f = File.expand_path('../spec/fixtures/chef-server-running.json', __FILE__)
36
- running_config = JSON.parse(File.read(f))
37
- @runner = ChefBackup::Runner.new(
38
- running_config.merge('restore_param' => '/tmp/backup.tgz')
39
- )
40
- ARGV.clear
41
- Pry.config.history.should_save = true
42
- Pry.config.history.should_load = true
43
- Pry.start
44
- end
data/chef_backup.gemspec DELETED
@@ -1,33 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'chef_backup/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'chef_backup'
8
- spec.version = ChefBackup::VERSION
9
- spec.authors = ['Ryan Cragun']
10
- spec.email = ['me@ryan.ec']
11
- spec.summary = 'A library to backup a Chef Server'
12
- spec.description = spec.summary
13
- spec.homepage = 'https://github.com/chef/chef_backup'
14
- spec.license = 'Apachev2'
15
-
16
- spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(/^bin/) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(/^(test|spec|features)/)
19
- spec.require_paths = ['lib']
20
-
21
- spec.add_dependency 'di-ruby-lvm'
22
- spec.add_dependency 'mixlib-shellout'
23
- spec.add_dependency 'highline'
24
- spec.add_dependency 'chef'
25
-
26
- spec.add_development_dependency 'bundler', '~> 1.6'
27
- spec.add_development_dependency 'rake'
28
- spec.add_development_dependency 'rspec', '~> 3.0'
29
- spec.add_development_dependency 'guard-rspec'
30
- spec.add_development_dependency 'pry-rescue'
31
- spec.add_development_dependency 'rubocop', '0.28'
32
- spec.add_development_dependency 'simplecov'
33
- end
@@ -1,584 +0,0 @@
1
- {
2
- "private_chef": {
3
- "backup": {
4
- "strategy": "tar"
5
- },
6
- "api_version": "11.1.0",
7
- "flavor": "ec",
8
- "notification_email": "pc-default@opscode.com",
9
- "from_email": "\"Opscode\" <donotreply@opscode.com>",
10
- "role": "backend",
11
- "user": {
12
- "username": "opscode",
13
- "shell": "/bin/sh",
14
- "home": "/opt/opscode/embedded"
15
- },
16
- "couchdb": {
17
- "enable": true,
18
- "ha": true,
19
- "dir": "/var/opt/opscode/couchdb",
20
- "data_dir": "/var/opt/opscode/drbd/data/couchdb",
21
- "log_directory": "/var/log/opscode/couchdb",
22
- "log_rotation": {
23
- "file_maxbytes": 104857600,
24
- "num_to_keep": 10
25
- },
26
- "port": 5984,
27
- "bind_address": "0.0.0.0",
28
- "vip": "127.0.0.1",
29
- "max_document_size": "4294967296",
30
- "max_attachment_chunk_size": "4294967296",
31
- "os_process_timeout": "300000",
32
- "max_dbs_open": 104857600,
33
- "delayed_commits": "true",
34
- "batch_save_size": 1000,
35
- "batch_save_interval": 1000,
36
- "log_level": "error",
37
- "reduce_limit": "false"
38
- },
39
- "rabbitmq": {
40
- "enable": true,
41
- "ha": true,
42
- "dir": "/var/opt/opscode/rabbitmq",
43
- "data_dir": "/var/opt/opscode/drbd/data/rabbitmq",
44
- "log_directory": "/var/log/opscode/rabbitmq",
45
- "log_rotation": {
46
- "file_maxbytes": 104857600,
47
- "num_to_keep": 10
48
- },
49
- "vhost": "/chef",
50
- "user": "chef",
51
- "password": "76b619fe244a0ce789599672e9256f4ab907b5ed36cf4e8c621fbf65dfc69ee30313b5bd70d181ed71563da90ae3f6d67bff",
52
- "reindexer_vhost": "/reindexer",
53
- "jobs_vhost": "/jobs",
54
- "jobs_user": "jobs",
55
- "jobs_password": "5fd81f6f26ce5855238cbd82bc2cbe340981e6aaf1daaa3ecd305dd7aa41281031b1e1ad50bd61fe559120333005c1fb9495",
56
- "actions_user": "actions",
57
- "actions_password": "c55f6e21d62e9862825d23d795a55d1ca89378982d81053cdc90bf4a1c5a627844993f150ad8087bc55377cb72dc90c0fc36",
58
- "actions_vhost": "/analytics",
59
- "actions_exchange": "actions",
60
- "node_ip_address": "0.0.0.0",
61
- "node_port": "5672",
62
- "nodename": "rabbit@localhost",
63
- "vip": "127.0.0.1",
64
- "consumer_id": "hotsauce"
65
- },
66
- "jetty": {
67
- "enable": false,
68
- "ha": false,
69
- "log_directory": "/var/opt/opscode/opscode-solr/jetty/logs"
70
- },
71
- "opscode-solr": {
72
- "enable": true,
73
- "ha": true,
74
- "dir": "/var/opt/opscode/opscode-solr",
75
- "data_dir": "/var/opt/opscode/drbd/data/opscode-solr",
76
- "log_directory": "/var/log/opscode/opscode-solr",
77
- "log_rotation": {
78
- "file_maxbytes": 104857600,
79
- "num_to_keep": 10
80
- },
81
- "heap_size": 626,
82
- "new_size": 39,
83
- "java_opts": " -XX:NewSize=39M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC",
84
- "url": "http://localhost:8983",
85
- "ip_address": "0.0.0.0",
86
- "vip": "127.0.0.1",
87
- "port": 8983,
88
- "ram_buffer_size": 200,
89
- "merge_factor": 25,
90
- "max_merge_docs": 2147483647,
91
- "max_field_length": 100000,
92
- "max_commit_docs": 1000,
93
- "commit_interval": 60000,
94
- "poll_seconds": 20,
95
- "command": "java -Xmx626M -Xms626M -XX:NewSize=39M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Xloggc:/var/log/opscode/opscode-solr/gclog.log -verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+PrintTenuringDistribution -Dsolr.data.dir=/var/opt/opscode/drbd/data/opscode-solr -Dsolr.solr.home=/var/opt/opscode/opscode-solr/home -server -jar '/var/opt/opscode/opscode-solr/jetty/start.jar'"
96
- },
97
- "opscode-expander": {
98
- "enable": true,
99
- "ha": true,
100
- "dir": "/var/opt/opscode/opscode-expander",
101
- "log_directory": "/var/log/opscode/opscode-expander",
102
- "log_rotation": {
103
- "file_maxbytes": 104857600,
104
- "num_to_keep": 10
105
- },
106
- "reindexer_log_directory": "/var/log/opscode/opscode-expander-reindexer",
107
- "consumer_id": "default",
108
- "nodes": 2
109
- },
110
- "opscode-erchef": {
111
- "enable": true,
112
- "ha": true,
113
- "dir": "/var/opt/opscode/opscode-erchef",
114
- "log_directory": "/var/log/opscode/opscode-erchef",
115
- "log_rotation": {
116
- "file_maxbytes": 104857600,
117
- "num_to_keep": 10
118
- },
119
- "vip": "127.0.0.1",
120
- "listen": "127.0.0.1",
121
- "port": 8000,
122
- "auth_skew": "900",
123
- "bulk_fetch_batch_size": "5",
124
- "max_cache_size": "10000",
125
- "cache_ttl": "3600",
126
- "db_pool_size": "20",
127
- "udp_socket_pool_size": "20",
128
- "couchdb_max_conn": "100",
129
- "ibrowse_max_sessions": 256,
130
- "ibrowse_max_pipeline_size": 1,
131
- "base_resource_url": "host_header",
132
- "s3_bucket": "bookshelf",
133
- "s3_url_ttl": 900,
134
- "s3_parallel_ops_timeout": 5000,
135
- "s3_parallel_ops_fanout": 20,
136
- "authz_timeout": 1000,
137
- "authz_fanout": 20,
138
- "root_metric_key": "chefAPI",
139
- "depsolver_worker_count": 5,
140
- "depsolver_timeout": 5000,
141
- "max_request_size": 1000000
142
- },
143
- "opscode-chef": {
144
- "checksum_path": "/var/opt/opscode/drbd/data/opscode-chef/checksum"
145
- },
146
- "opscode-webui": {
147
- "enable": false,
148
- "ha": true,
149
- "dir": "/var/opt/opscode/opscode-webui",
150
- "log_directory": "/var/log/opscode/opscode-webui",
151
- "log_rotation": {
152
- "file_maxbytes": 104857600,
153
- "num_to_keep": 10
154
- },
155
- "environment": "privatechef",
156
- "url": "http://127.0.0.1:9462",
157
- "listen": "127.0.0.1:9462",
158
- "vip": "127.0.0.1",
159
- "port": 9462,
160
- "backlog": 1024,
161
- "tcp_nodelay": true,
162
- "worker_timeout": 3600,
163
- "validation_client_name": "chef",
164
- "umask": "0022",
165
- "worker_processes": 2,
166
- "session_key": "_sandbox_session",
167
- "cookie_domain": "all",
168
- "cookie_secret": "138af2876602f3ee507de496e86fd04d97365949aa6dc986b349c95782246f79cb9d1ed5b3305710cfe79cfd6c3d36328f66"
169
- },
170
- "oc-chef-pedant": {
171
- "dir": "/var/opt/opscode/oc-chef-pedant",
172
- "log_directory": "/var/log/opscode/oc-chef-pedant",
173
- "log_http_requests": true,
174
- "log_rotation": {
175
- "file_maxbytes": 104857600,
176
- "num_to_keep": 10
177
- },
178
- "debug_org_creation": false
179
- },
180
- "redis_lb": {
181
- "enable": true,
182
- "ha": true,
183
- "dir": "/var/opt/opscode/redis_lb",
184
- "data_dir": "/var/opt/opscode/drbd/data/redis_lb",
185
- "log_directory": "/var/log/opscode/redis_lb",
186
- "log_rotation": {
187
- "file_maxbytes": 1000000,
188
- "num_to_keep": 10
189
- },
190
- "port": "16379",
191
- "bind": "127.0.0.1",
192
- "vip": "127.0.0.1",
193
- "keepalive": "60",
194
- "timeout": "300",
195
- "loglevel": "notice",
196
- "databases": "16",
197
- "appendonly": "no",
198
- "appendfsync": "always",
199
- "activerehashing": "no",
200
- "aof_rewrite_percent": "50",
201
- "aof_rewrite_min_size": "16mb",
202
- "maxmemory": "8m",
203
- "maxmemory_policy": "noeviction",
204
- "save_frequency": {
205
- "900": "1",
206
- "300": "10",
207
- "60": "1000"
208
- },
209
- "listen": "0.0.0.0"
210
- },
211
- "lb": {
212
- "enable": true,
213
- "vip": "127.0.0.1",
214
- "api_fqdn": "api.opscode.kryptonite",
215
- "web_ui_fqdn": "api.opscode.kryptonite",
216
- "cache_cookbook_files": false,
217
- "debug": false,
218
- "upstream": {
219
- "opscode-erchef": [
220
- "127.0.0.1"
221
- ],
222
- "opscode-account": [
223
- "127.0.0.1"
224
- ],
225
- "opscode-webui": [
226
- "127.0.0.1"
227
- ],
228
- "oc_bifrost": [
229
- "127.0.0.1"
230
- ],
231
- "opscode-solr": [
232
- "127.0.0.1"
233
- ],
234
- "bookshelf": [
235
- "127.0.0.1"
236
- ]
237
- },
238
- "redis_connection_timeout": 1000,
239
- "redis_keepalive_timeout": 2000,
240
- "redis_connection_pool_size": 250,
241
- "maint_refresh_interval": 600,
242
- "ban_refresh_interval": 600,
243
- "chef_min_version": 10,
244
- "chef_max_version": 11,
245
- "xdl_defaults": {
246
- "503_mode": false,
247
- "couchdb_containers": true,
248
- "couchdb_groups": true
249
- },
250
- "ha": true
251
- },
252
- "lb_internal": {
253
- "enable": true,
254
- "vip": "127.0.0.1",
255
- "chef_port": 9680,
256
- "account_port": 9685,
257
- "oc_bifrost_port": 9683
258
- },
259
- "nginx": {
260
- "enable": true,
261
- "ha": true,
262
- "dir": "/var/opt/opscode/nginx",
263
- "log_directory": "/var/log/opscode/nginx",
264
- "log_rotation": {
265
- "file_maxbytes": 104857600,
266
- "num_to_keep": 10
267
- },
268
- "ssl_port": 443,
269
- "enable_non_ssl": false,
270
- "non_ssl_port": 80,
271
- "x_forwarded_proto": "https",
272
- "server_name": "api.opscode.kryptonite",
273
- "url": "https://api.opscode.kryptonite",
274
- "ssl_protocols": "SSLv3 TLSv1",
275
- "ssl_ciphers": "RC4-SHA:RC4-MD5:RC4:RSA:HIGH:MEDIUM:!LOW:!kEDH:!aNULL:!ADH:!eNULL:!EXP:!SSLv2:!SEED:!CAMELLIA:!PSK",
276
- "ssl_certificate": "/var/opt/opscode/nginx/ca/api.opscode.kryptonite.crt",
277
- "ssl_certificate_key": "/var/opt/opscode/nginx/ca/api.opscode.kryptonite.key",
278
- "ssl_country_name": "US",
279
- "ssl_state_name": "WA",
280
- "ssl_locality_name": "Seattle",
281
- "ssl_company_name": "YouCorp",
282
- "ssl_organizational_unit_name": "Operations",
283
- "ssl_email_address": "you@example.com",
284
- "worker_processes": 2,
285
- "worker_connections": 10240,
286
- "sendfile": "on",
287
- "tcp_nopush": "on",
288
- "tcp_nodelay": "on",
289
- "gzip": "on",
290
- "gzip_http_version": "1.0",
291
- "gzip_comp_level": "2",
292
- "gzip_proxied": "any",
293
- "gzip_types": [
294
- "text/plain",
295
- "text/css",
296
- "application/x-javascript",
297
- "text/xml",
298
- "application/xml",
299
- "application/xml+rss",
300
- "text/javascript",
301
- "application/json"
302
- ],
303
- "keepalive_timeout": 65,
304
- "client_max_body_size": "250m",
305
- "cache_max_size": "5000m",
306
- "enable_ipv6": false
307
- },
308
- "postgresql": {
309
- "version": "9.2",
310
- "enable": true,
311
- "ha": true,
312
- "dir": "/var/opt/opscode/postgresql/9.2",
313
- "data_dir": "/var/opt/opscode/drbd/data/postgresql_9.2",
314
- "log_directory": "/var/log/opscode/postgresql/9.2",
315
- "log_rotation": {
316
- "file_maxbytes": 104857600,
317
- "num_to_keep": 10
318
- },
319
- "username": "opscode-pgsql",
320
- "shell": "/bin/sh",
321
- "home": "/var/opt/opscode/postgresql",
322
- "user_path": "/opt/opscode/embedded/bin:/opt/opscode/bin:$PATH",
323
- "sql_user": "opscode_chef",
324
- "sql_password": "a3852363df1bc9cd0ff2bf162242d293d28a63b12be73dbfa3766e1c304fd42e97c7fc38a62e95782b012792cbba4e7cff2a",
325
- "sql_ro_user": "opscode_chef_ro",
326
- "sql_ro_password": "467f2a886d52faf054947bc6869c624ae229d9a367bdb52c90b9d1c9fcfb1adda7b68c930464c0938e8d7ac17cc90fd42c77",
327
- "vip": "127.0.0.1",
328
- "port": 5432,
329
- "listen_address": "*",
330
- "max_connections": 350,
331
- "md5_auth_cidr_addresses": [
332
- "0.0.0.0/0"
333
- ],
334
- "shmmax": 17179869184,
335
- "shmall": 4194304,
336
- "shared_buffers": "626MB",
337
- "work_mem": "8MB",
338
- "effective_cache_size": "128MB",
339
- "checkpoint_segments": 3,
340
- "checkpoint_timeout": "5min",
341
- "checkpoint_completion_target": 0.5,
342
- "checkpoint_warning": "30s"
343
- },
344
- "oc_bifrost": {
345
- "enable": true,
346
- "ha": true,
347
- "dir": "/var/opt/opscode/oc_bifrost",
348
- "log_directory": "/var/log/opscode/oc_bifrost",
349
- "log_rotation": {
350
- "file_maxbytes": 104857600,
351
- "num_to_keep": 10
352
- },
353
- "vip": "127.0.0.1",
354
- "listen": "127.0.0.1",
355
- "port": 9463,
356
- "superuser_id": "ef82513b04d7281f5c3657a7827b788b",
357
- "db_pool_size": "20",
358
- "sql_user": "bifrost",
359
- "sql_password": "c8a50853c658070a591545035f67a7849d37228d2fe6a877b7d540b0298ad2340b3fa99de48be19ab35410a9ef99ffe49ed9",
360
- "sql_ro_user": "bifrost_ro",
361
- "sql_ro_password": "95cfe03e796a0fe700254e6761de846e7f530c526c2425f17691e9c334ff88defe4389bdac70a0e36f0a0e29ba19695d90d9",
362
- "extended_perf_log": true
363
- },
364
- "oc_chef_authz": {
365
- "http_init_count": 25,
366
- "http_max_count": 100,
367
- "http_cull_interval": "{1, min}",
368
- "http_max_age": "{70, sec}",
369
- "http_max_connection_duration": "{70, sec}",
370
- "ibrowse_options": "[{connect_timeout, 5000}]"
371
- },
372
- "bookshelf": {
373
- "enable": true,
374
- "ha": true,
375
- "dir": "/var/opt/opscode/bookshelf",
376
- "data_dir": "/var/opt/opscode/drbd/data/bookshelf",
377
- "log_directory": "/var/log/opscode/bookshelf",
378
- "log_rotation": {
379
- "file_maxbytes": 104857600,
380
- "num_to_keep": 10
381
- },
382
- "vip": "backend1.opscode.kryptonite",
383
- "listen": "0.0.0.0",
384
- "port": 4321,
385
- "stream_download": true,
386
- "access_key_id": "09a81344e4b0cb0eb9a710f4c70b641cff6f4382",
387
- "secret_access_key": "db005c3aaf86ce39176e73fd7d57593ae67c2b35ca1f757211d1a817124ef013a041408e1e1b730c",
388
- "external_url": "host_header"
389
- },
390
- "opscode-certificate": {
391
- "enable": true,
392
- "ha": true,
393
- "dir": "/var/opt/opscode/opscode-certificate",
394
- "log_directory": "/var/log/opscode/opscode-certificate",
395
- "log_rotation": {
396
- "file_maxbytes": 104857600,
397
- "num_to_keep": 10
398
- },
399
- "port": 5140,
400
- "vip": "127.0.0.1",
401
- "num_workers": "2",
402
- "num_certificates_per_worker": "50"
403
- },
404
- "opscode-org-creator": {
405
- "enable": true,
406
- "ha": true,
407
- "dir": "/var/opt/opscode/opscode-org-creator",
408
- "log_directory": "/var/log/opscode/opscode-org-creator",
409
- "log_rotation": {
410
- "file_maxbytes": 104857600,
411
- "num_to_keep": 10
412
- },
413
- "ready_org_depth": 10,
414
- "max_workers": 1,
415
- "create_wait_ms": 30000,
416
- "create_splay_ms": 25000,
417
- "port": 4369
418
- },
419
- "dark_launch": {
420
- "quick_start": false,
421
- "new_theme": true,
422
- "private-chef": true,
423
- "sql_users": true,
424
- "add_type_and_bag_to_items": true,
425
- "reporting": true,
426
- "actions": false
427
- },
428
- "opscode-account": {
429
- "enable": true,
430
- "ha": true,
431
- "dir": "/var/opt/opscode/opscode-account",
432
- "log_directory": "/var/log/opscode/opscode-account",
433
- "log_rotation": {
434
- "file_maxbytes": 104857600,
435
- "num_to_keep": 10
436
- },
437
- "proxy_user": "pivotal",
438
- "session_secret_key": "4bd0ee0680f2df4ecbb1a30f2e7bd8bf2dac351c099a0625a90c528fbda52c1e2005f345159d62457dd9858663c562c424f8",
439
- "environment": "privatechef",
440
- "vip": "127.0.0.1",
441
- "port": 9465,
442
- "url": "http://127.0.0.1:9465",
443
- "listen": "127.0.0.1:9465",
444
- "backlog": 1024,
445
- "tcp_nodelay": true,
446
- "worker_timeout": 3600,
447
- "validation_client_name": "chef",
448
- "umask": "0022",
449
- "worker_processes": 4
450
- },
451
- "opscode-chef-mover": {
452
- "enable": true,
453
- "ha": false,
454
- "dir": "/var/opt/opscode/opscode-chef-mover",
455
- "data_dir": "/var/opt/opscode/opscode-chef-mover/data",
456
- "log_directory": "/var/log/opscode/opscode-chef-mover",
457
- "log_rotation": {
458
- "file_maxbytes": 1073741824,
459
- "num_to_keep": 10
460
- },
461
- "bulk_fetch_batch_size": "5",
462
- "max_cache_size": "10000",
463
- "cache_ttl": "3600",
464
- "db_pool_size": "5",
465
- "ibrowse_max_sessions": 256,
466
- "ibrowse_max_pipeline_size": 1
467
- },
468
- "bootstrap": {
469
- "enable": false
470
- },
471
- "estatsd": {
472
- "enable": true,
473
- "dir": "/var/opt/opscode/estatsd",
474
- "log_directory": "/var/log/opscode/estatsd",
475
- "vip": "127.0.0.1",
476
- "port": 9466
477
- },
478
- "drbd": {
479
- "enable": true,
480
- "dir": "/var/opt/opscode/drbd",
481
- "data_dir": "/var/opt/opscode/drbd/data",
482
- "sync_rate": "40M",
483
- "shared_secret": "f0da25577477516bd833d7c706329dddc128a45ba89ef75fd4a2222d58b3",
484
- "device": "/dev/drbd0",
485
- "disk": "/dev/opscode/drbd",
486
- "flexible_meta_disk": "internal",
487
- "primary": {
488
- "fqdn": "backend1.opscode.kryptonite",
489
- "ip": "33.33.34.5",
490
- "port": 7788
491
- },
492
- "secondary": {
493
- "fqdn": "backend2.opscode.kryptonite",
494
- "ip": "33.33.34.6",
495
- "port": 7788
496
- },
497
- "version": "8.4.3",
498
- "ipv6_on": false
499
- },
500
- "keepalived": {
501
- "enable": true,
502
- "dir": "/var/opt/opscode/keepalived",
503
- "ipv6_on": false,
504
- "log_directory": "/var/log/opscode/keepalived",
505
- "log_rotation": {
506
- "file_maxbytes": 104857600,
507
- "num_to_keep": 10
508
- },
509
- "smtp_server": "127.0.0.1",
510
- "smtp_connect_timeout": "30",
511
- "vrrp_sync_group": "PC_GROUP",
512
- "vrrp_sync_instance": "PC_VI",
513
- "vrrp_instance_state": "BACKUP",
514
- "vrrp_instance_interface": "eth1",
515
- "vrrp_instance_virtual_router_id": "1",
516
- "vrrp_instance_priority": "100",
517
- "vrrp_instance_advert_int": "1",
518
- "vrrp_instance_password": "018f9cc7f33377d8b54c70494f5c433255f581b2d9e679762ff83dab83ee5bfac109ed8e9af2efccae041438cf73b0ad6a83",
519
- "vrrp_instance_ipaddress": "33.33.33.20",
520
- "vrrp_instance_ipaddress_dev": "eth1",
521
- "vrrp_instance_vrrp_unicast_bind": "33.33.33.21",
522
- "vrrp_instance_vrrp_unicast_peer": "33.33.33.22",
523
- "vrrp_instance_preempt_delay": 30,
524
- "vrrp_instance_nopreempt": true,
525
- "service_posthooks": {
526
- "rabbitmq": "/opt/opscode/bin/wait-for-rabbit"
527
- }
528
- },
529
- "ldap": {
530
- },
531
- "upgrades": {
532
- "dir": "/var/opt/opscode/upgrades"
533
- },
534
- "lb-internal": {
535
- },
536
- "topology": "ha",
537
- "servers": {
538
- "backend1.opscode.kryptonite": {
539
- "ipaddress": "33.33.33.21",
540
- "cluster_ipaddress": "33.33.34.5",
541
- "role": "backend",
542
- "bootstrap": true,
543
- "peer_ipaddress": "33.33.33.22"
544
- },
545
- "backend2.opscode.kryptonite": {
546
- "ipaddress": "33.33.33.22",
547
- "cluster_ipaddress": "33.33.34.6",
548
- "role": "backend",
549
- "bootstrap": false
550
- },
551
- "frontend1.opscode.kryptonite": {
552
- "ipaddress": "33.33.33.23",
553
- "role": "frontend"
554
- }
555
- },
556
- "backend_vips": {
557
- "fqdn": "backend.opscode.kryptonite",
558
- "ipaddress": "33.33.33.20",
559
- "device": "eth1",
560
- "heartbeat_device": "eth2",
561
- "ipaddress_with_netmask": "33.33.33.20"
562
- },
563
- "logs": {
564
- "log_retention": {
565
- },
566
- "log_rotation": {
567
- }
568
- }
569
- },
570
- "run_list": [
571
- "recipe[private-chef]"
572
- ],
573
- "runit": {
574
- "sv_bin": "/opt/opscode/embedded/bin/sv",
575
- "chpst_bin": "/opt/opscode/embedded/bin/chpst",
576
- "service_dir": "/opt/opscode/service",
577
- "sv_dir": "/opt/opscode/sv",
578
- "lsb_init_dir": "/opt/opscode/init",
579
- "executable": "/sbin/runit",
580
- "start": "start runsvdir",
581
- "stop": "stop runsvdir",
582
- "reload": "reload runsvdir"
583
- }
584
- }