chamber 2.12.5 → 2.14.2

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 (55) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/README.md +101 -26
  5. data/lib/chamber.rb +82 -10
  6. data/lib/chamber/adapters/cloud/circle_ci.rb +85 -0
  7. data/lib/chamber/adapters/cloud/heroku.rb +74 -0
  8. data/lib/chamber/binary/circle_ci.rb +122 -0
  9. data/lib/chamber/binary/heroku.rb +45 -16
  10. data/lib/chamber/binary/runner.rb +42 -26
  11. data/lib/chamber/binary/travis.rb +5 -3
  12. data/lib/chamber/commands/base.rb +10 -16
  13. data/lib/chamber/commands/cloud/base.rb +35 -0
  14. data/lib/chamber/commands/{heroku → cloud}/clear.rb +6 -8
  15. data/lib/chamber/commands/cloud/compare.rb +26 -0
  16. data/lib/chamber/commands/cloud/pull.rb +29 -0
  17. data/lib/chamber/commands/cloud/push.rb +44 -0
  18. data/lib/chamber/commands/comparable.rb +2 -2
  19. data/lib/chamber/commands/compare.rb +6 -9
  20. data/lib/chamber/commands/initialize.rb +26 -22
  21. data/lib/chamber/commands/securable.rb +9 -9
  22. data/lib/chamber/commands/secure.rb +2 -2
  23. data/lib/chamber/commands/show.rb +8 -8
  24. data/lib/chamber/commands/sign.rb +2 -2
  25. data/lib/chamber/commands/verify.rb +2 -2
  26. data/lib/chamber/configuration.rb +8 -3
  27. data/lib/chamber/context_resolver.rb +8 -7
  28. data/lib/chamber/encryption_methods/ssl.rb +12 -12
  29. data/lib/chamber/file.rb +16 -14
  30. data/lib/chamber/file_set.rb +18 -8
  31. data/lib/chamber/files/signature.rb +16 -14
  32. data/lib/chamber/filters/decryption_filter.rb +17 -13
  33. data/lib/chamber/filters/encryption_filter.rb +8 -8
  34. data/lib/chamber/filters/environment_filter.rb +12 -14
  35. data/lib/chamber/filters/failed_decryption_filter.rb +6 -6
  36. data/lib/chamber/filters/insecure_filter.rb +3 -3
  37. data/lib/chamber/filters/namespace_filter.rb +5 -5
  38. data/lib/chamber/filters/secure_filter.rb +5 -5
  39. data/lib/chamber/filters/translate_secure_keys_filter.rb +5 -5
  40. data/lib/chamber/instance.rb +45 -21
  41. data/lib/chamber/key_pair.rb +7 -7
  42. data/lib/chamber/keys/base.rb +31 -49
  43. data/lib/chamber/keys/decryption.rb +5 -5
  44. data/lib/chamber/keys/encryption.rb +5 -5
  45. data/lib/chamber/namespace_set.rb +2 -4
  46. data/lib/chamber/settings.rb +73 -45
  47. data/lib/chamber/types/secured.rb +8 -10
  48. data/lib/chamber/version.rb +1 -1
  49. data/templates/settings.yml +2 -0
  50. metadata +46 -39
  51. metadata.gz.sig +0 -0
  52. data/lib/chamber/commands/heroku.rb +0 -31
  53. data/lib/chamber/commands/heroku/compare.rb +0 -33
  54. data/lib/chamber/commands/heroku/pull.rb +0 -30
  55. data/lib/chamber/commands/heroku/push.rb +0 -27
metadata CHANGED
@@ -1,44 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chamber
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.5
4
+ version: 2.14.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - thekompanee
8
8
  - jfelchner
9
9
  - stevenhallen
10
10
  - m5rk
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain:
14
14
  - |
15
15
  -----BEGIN CERTIFICATE-----
16
- MIIEdjCCAt6gAwIBAgIBATANBgkqhkiG9w0BAQsFADAyMTAwLgYDVQQDDCdhY2Nv
17
- dW50c19ydWJ5Z2Vtcy9EQz10aGVrb21wYW5lZS9EQz1jb20wHhcNMTgwODAzMjEz
18
- NjUzWhcNMTkwODAzMjEzNjUzWjAyMTAwLgYDVQQDDCdhY2NvdW50c19ydWJ5Z2Vt
16
+ MIIEGDCCAoCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAyMTAwLgYDVQQDDCdhY2Nv
17
+ dW50c19ydWJ5Z2Vtcy9EQz10aGVrb21wYW5lZS9EQz1jb20wHhcNMjAxMjI2MjIy
18
+ NTE5WhcNMjExMjI2MjIyNTE5WjAyMTAwLgYDVQQDDCdhY2NvdW50c19ydWJ5Z2Vt
19
19
  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
- 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
- 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
- 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
- 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
- MRzJ0rIdEk7wT8fBJ6w9oeFca8qW7C9M/ONJ4WiS+HoquCRcR+FiNAS3LQtQbiaR
25
- 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
- +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
- AumxK9WPjr7WFDk5o71NX4SZft99Ey5XBeZ1+I2v4+ozio/cqOFz9UTarQryCf0e
28
- 2uJLFPBPkzcCAwEAAaOBljCBkzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNV
29
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
40
38
  -----END CERTIFICATE-----
41
- date: 2019-05-29 00:00:00.000000000 Z
39
+ date: 2020-12-31 00:00:00.000000000 Z
42
40
  dependencies:
43
41
  - !ruby/object:Gem::Dependency
44
42
  name: thor
@@ -46,20 +44,20 @@ dependencies:
46
44
  requirements:
47
45
  - - ">="
48
46
  - !ruby/object:Gem::Version
49
- version: 0.19.1
47
+ version: 0.20.3
50
48
  - - "<"
51
49
  - !ruby/object:Gem::Version
52
- version: '0.21'
50
+ version: '2.0'
53
51
  type: :runtime
54
52
  prerelease: false
55
53
  version_requirements: !ruby/object:Gem::Requirement
56
54
  requirements:
57
55
  - - ">="
58
56
  - !ruby/object:Gem::Version
59
- version: 0.19.1
57
+ version: 0.20.3
60
58
  - - "<"
61
59
  - !ruby/object:Gem::Version
62
- version: '0.21'
60
+ version: '2.0'
63
61
  - !ruby/object:Gem::Dependency
64
62
  name: hashie
65
63
  requirement: !ruby/object:Gem::Requirement
@@ -158,18 +156,21 @@ files:
158
156
  - README.md
159
157
  - bin/chamber
160
158
  - lib/chamber.rb
159
+ - lib/chamber/adapters/cloud/circle_ci.rb
160
+ - lib/chamber/adapters/cloud/heroku.rb
161
+ - lib/chamber/binary/circle_ci.rb
161
162
  - lib/chamber/binary/heroku.rb
162
163
  - lib/chamber/binary/runner.rb
163
164
  - lib/chamber/binary/travis.rb
164
165
  - lib/chamber/commands/base.rb
166
+ - lib/chamber/commands/cloud/base.rb
167
+ - lib/chamber/commands/cloud/clear.rb
168
+ - lib/chamber/commands/cloud/compare.rb
169
+ - lib/chamber/commands/cloud/pull.rb
170
+ - lib/chamber/commands/cloud/push.rb
165
171
  - lib/chamber/commands/comparable.rb
166
172
  - lib/chamber/commands/compare.rb
167
173
  - lib/chamber/commands/files.rb
168
- - lib/chamber/commands/heroku.rb
169
- - lib/chamber/commands/heroku/clear.rb
170
- - lib/chamber/commands/heroku/compare.rb
171
- - lib/chamber/commands/heroku/pull.rb
172
- - lib/chamber/commands/heroku/push.rb
173
174
  - lib/chamber/commands/initialize.rb
174
175
  - lib/chamber/commands/securable.rb
175
176
  - lib/chamber/commands/secure.rb
@@ -216,7 +217,13 @@ licenses:
216
217
  - MIT
217
218
  metadata:
218
219
  allowed_push_host: https://rubygems.org
219
- post_install_message:
220
+ bug_tracker_uri: https://github.com/thekompanee/chamber/issues
221
+ changelog_uri: https://github.com/thekompanee/chamber/blob/master/CHANGELOG.md
222
+ documentation_uri: https://github.com/thekompanee/chamber/tree/releases/v2.13.0
223
+ homepage_uri: https://github.com/thekompanee/chamber
224
+ source_code_uri: https://github.com/thekompanee/chamber
225
+ wiki_uri: https://github.com/thekompanee/chamber/wiki
226
+ post_install_message:
220
227
  rdoc_options: []
221
228
  require_paths:
222
229
  - lib
@@ -224,15 +231,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
224
231
  requirements:
225
232
  - - ">="
226
233
  - !ruby/object:Gem::Version
227
- version: '0'
234
+ version: 2.1.0
228
235
  required_rubygems_version: !ruby/object:Gem::Requirement
229
236
  requirements:
230
237
  - - ">="
231
238
  - !ruby/object:Gem::Version
232
239
  version: '0'
233
240
  requirements: []
234
- rubygems_version: 3.0.3
235
- signing_key:
241
+ rubygems_version: 3.2.3
242
+ signing_key:
236
243
  specification_version: 4
237
244
  summary: A surprisingly configurable convention-based approach to managing your application's
238
245
  custom configuration settings.
metadata.gz.sig CHANGED
Binary file
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler'
4
-
5
- module Chamber
6
- module Commands
7
- module Heroku
8
- def initialize(options = {})
9
- super
10
-
11
- self.app = options[:app]
12
- end
13
-
14
- protected
15
-
16
- attr_accessor :app
17
-
18
- def configuration
19
- @configuration ||= heroku('config --shell').chomp
20
- end
21
-
22
- def heroku(command)
23
- Bundler.with_clean_env { `heroku #{command}#{app_option}` }
24
- end
25
-
26
- def app_option
27
- app ? " --app #{app}" : ''
28
- end
29
- end
30
- end
31
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'chamber/commands/securable'
4
- require 'chamber/commands/heroku'
5
- require 'chamber/commands/comparable'
6
-
7
- module Chamber
8
- module Commands
9
- module Heroku
10
- class Compare < Chamber::Commands::Base
11
- include Chamber::Commands::Securable
12
- include Chamber::Commands::Heroku
13
- include Chamber::Commands::Comparable
14
-
15
- protected
16
-
17
- def first_settings_data
18
- if only_sensitive
19
- secured_settings.to_s(pair_separator: "\n",
20
- value_surrounder: '')
21
- else
22
- current_settings.to_s(pair_separator: "\n",
23
- value_surrounder: '')
24
- end
25
- end
26
-
27
- def second_settings_data
28
- configuration
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'chamber/commands/base'
4
- require 'chamber/commands/heroku'
5
-
6
- module Chamber
7
- module Commands
8
- module Heroku
9
- class Pull < Chamber::Commands::Base
10
- include Chamber::Commands::Heroku
11
-
12
- attr_accessor :target_file
13
-
14
- def initialize(options = {})
15
- super
16
-
17
- self.target_file = options[:into]
18
- end
19
-
20
- def call
21
- if target_file
22
- shell.create_file target_file, configuration
23
- else
24
- configuration
25
- end
26
- end
27
- end
28
- end
29
- end
30
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'chamber/commands/base'
4
- require 'chamber/commands/securable'
5
- require 'chamber/commands/heroku'
6
-
7
- module Chamber
8
- module Commands
9
- module Heroku
10
- class Push < Chamber::Commands::Base
11
- include Chamber::Commands::Securable
12
- include Chamber::Commands::Heroku
13
-
14
- def call
15
- securable_environment_variables.each do |key, value|
16
- if dry_run
17
- shell.say_status 'push', key, :blue
18
- else
19
- shell.say_status 'push', key, :green
20
- heroku("config:set #{key}=#{value.shellescape}")
21
- end
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end