chamber 2.12.2 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +5 -5
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +2 -2
  4. data/README.md +101 -26
  5. data/lib/chamber.rb +72 -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 +10 -10
  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 +16 -7
  28. data/lib/chamber/encryption_methods/ssl.rb +21 -12
  29. data/lib/chamber/errors/environment_conversion.rb +8 -0
  30. data/lib/chamber/file.rb +22 -20
  31. data/lib/chamber/file_set.rb +21 -11
  32. data/lib/chamber/files/signature.rb +31 -23
  33. data/lib/chamber/filters/decryption_filter.rb +13 -11
  34. data/lib/chamber/filters/encryption_filter.rb +17 -8
  35. data/lib/chamber/filters/environment_filter.rb +21 -10
  36. data/lib/chamber/filters/failed_decryption_filter.rb +6 -6
  37. data/lib/chamber/filters/insecure_filter.rb +12 -3
  38. data/lib/chamber/filters/namespace_filter.rb +5 -5
  39. data/lib/chamber/filters/secure_filter.rb +5 -5
  40. data/lib/chamber/filters/translate_secure_keys_filter.rb +5 -5
  41. data/lib/chamber/instance.rb +48 -32
  42. data/lib/chamber/integrations/rails.rb +1 -1
  43. data/lib/chamber/integrations/sinatra.rb +6 -6
  44. data/lib/chamber/key_pair.rb +8 -8
  45. data/lib/chamber/keys/base.rb +35 -41
  46. data/lib/chamber/keys/decryption.rb +8 -14
  47. data/lib/chamber/keys/encryption.rb +8 -14
  48. data/lib/chamber/namespace_set.rb +2 -4
  49. data/lib/chamber/settings.rb +58 -54
  50. data/lib/chamber/types/secured.rb +8 -10
  51. data/lib/chamber/version.rb +1 -1
  52. data/templates/settings.yml +2 -0
  53. metadata +52 -41
  54. metadata.gz.sig +0 -0
  55. data/lib/chamber/commands/heroku.rb +0 -31
  56. data/lib/chamber/commands/heroku/compare.rb +0 -33
  57. data/lib/chamber/commands/heroku/pull.rb +0 -30
  58. data/lib/chamber/commands/heroku/push.rb +0 -27
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Chamber
4
- VERSION = '2.12.2'
4
+ VERSION = '2.14.0'
5
5
  end
@@ -1,3 +1,5 @@
1
+ ---
2
+
1
3
  development:
2
4
  setting: development_value
3
5
  # The following will become 'secure_setting'
metadata CHANGED
@@ -1,61 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chamber
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.2
4
+ version: 2.14.0
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
- MIIDrjCCApagAwIBAgIBATANBgkqhkiG9w0BAQUFADBOMRowGAYDVQQDDBFhY2Nv
17
- dW50c19ydWJ5Z2VtczEbMBkGCgmSJomT8ixkARkWC3RoZWtvbXBhbmVlMRMwEQYK
18
- CZImiZPyLGQBGRYDY29tMB4XDTE3MTIzMTIzMzUwNloXDTE4MTIzMTIzMzUwNlow
19
- TjEaMBgGA1UEAwwRYWNjb3VudHNfcnVieWdlbXMxGzAZBgoJkiaJk/IsZAEZFgt0
20
- aGVrb21wYW5lZTETMBEGCgmSJomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEB
21
- BQADggEPADCCAQoCggEBAO4TFnvU5R1rchKsNvNEiZUlOTuMtuE+OvMW4aOk3tIP
22
- JpczhDnRSLpbkpVvsuwfT9PgLjnAuan4oLB0eQVaOAgATFbmAfMsfU0gGtSWlczx
23
- 6vZjQqyGsW3P1abgGquLVubj409FMxfV18JUZlEmvCE1y9bM61gZ3oHTFPvBDoyX
24
- 3g9or9nenIa5jcJZd4C3ujW8yOxD+UskgAp+iZI2mIRtt2cJVg2/dnFAgqqp7Xy4
25
- c4OHZ6hqp2UcvhzuEdUJ6yRA8+Gn3jPOD+uXgUG84FfmU++NVoZyz+r0Nwa+De0H
26
- IObr8jftfL0PGdR8t1K61g12dZwGmpYTzmoJ1C+yS2ECAwEAAaOBljCBkzAJBgNV
27
- HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUxmSoxOGENcFagbIbl/CikHCU
28
- hyMwLAYDVR0RBCUwI4EhYWNjb3VudHMrcnVieWdlbXNAdGhla29tcGFuZWUuY29t
29
- MCwGA1UdEgQlMCOBIWFjY291bnRzK3J1YnlnZW1zQHRoZWtvbXBhbmVlLmNvbTAN
30
- BgkqhkiG9w0BAQUFAAOCAQEAoiXGZB5aUV/31MOlrY6Jmfk/4+kIBcgrOCMCi3Nn
31
- 58fZ/LJDmxs+C3zdW0wHxYf06r3ZcHTulhk1suztLCWyUxyOkGj4IW+LXPRGP66o
32
- 6qcofBVFh7GXatsgbj87f7a8/opXaeQHqC2X18sCTwOCcO5PjtFrXK7A3v1u2yRj
33
- rEe6qyTkY77mRgG3f/feAizAvYYkPxOngUwN8rpfKpU5iESS4UUaxIi3AGJHgTw2
34
- etYUO0DlNY/qYfSfExrgt0W5dZeT09V++WPlYauHw/EZtAB0AsJwVdtIscq0HSvX
35
- yH9AFp3KIe0v70EXzao/94n+XoDULrHEhqGMo34iS+37ZA==
16
+ MIIEGDCCAoCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADAyMTAwLgYDVQQDDCdhY2Nv
17
+ dW50c19ydWJ5Z2Vtcy9EQz10aGVrb21wYW5lZS9EQz1jb20wHhcNMjAxMjI2MjIy
18
+ NTE5WhcNMjExMjI2MjIyNTE5WjAyMTAwLgYDVQQDDCdhY2NvdW50c19ydWJ5Z2Vt
19
+ cy9EQz10aGVrb21wYW5lZS9EQz1jb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAw
20
+ ggGKAoIBgQD0Z84PxtE0iiWCMTQbnit6D4w55GGBQZnhpWUCJwC0SpQ/jnT0Fsma
21
+ g8oAIdDclLvLC9jzqSAmkOujlpkJMb5NabgkhKFwHi6cVW/gz/cVnISAv8LQTIM5
22
+ c1wyhwX/YhVFaNYNzMizB//kZOeXnv6x0tqV9NY7urHcT6mCwyLeNJIgf44i1Ut+
23
+ mKtXxEyXNbfWQLVY95bVoVg3GOCkycerZN4Oh3zSJM1s+cZRBFlg7GR1AE3Xqs6k
24
+ RhE7yp8ufeghC3bbxgnQrkk8W8Fkkl0/+2JAENpdE4OUepC6dFzDlLZ3UvSk7VHf
25
+ NBRKSuO15kpPo2G55N0HLy8abUzbu5cqjhSbIk9hzD6AmdGCT4DqlsdHI5gOrGP0
26
+ BO6VxGpRuRETKoZ4epPCsXC2XAwk3TJXkuuqYkgdcv8ZR4rPW2CiPvRqgG1YVwWj
27
+ SrIy5Dt/dlMvxdIMiTj6ytAQP1kfdKPFWrJTIA2tspl/eNB+LiYsVdj8d0UU/KTY
28
+ y7jqKMpOE1UCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
29
+ BBYEFO/l0LjdONn2Rr8y4WGyMA37MWVfMA0GCSqGSIb3DQEBCwUAA4IBgQDBGn+T
30
+ HS7SCuLgjCimsT5e3v+Q0VaML1+yJPPqvIVM+HMyTYDpV2ogdAcX1I0lNbUHT9w7
31
+ 5y8pQ7BtYq8LDX6D8EufjvlgpJzunuPpNVh2QQdtkYC2zGabTnk+BJC5scYckBxW
32
+ PxYXSuOxjXAkFe1r9RhPzeMY8lPVh6aEQKNLVkzbpIjoGzUgAPGPZG/ylKSWycwE
33
+ qfHiDXzCAqMzSsb3sMQO1+0euciY1oTOyYCHYKo+gemWEI/p8PyJe/qB2tWC9GYs
34
+ m+we5ul7O4Sq8qKnX0KCqHneqaXakcbuEkhViW6Def432jH8JjYums6EW2mg9570
35
+ pHS20TH4u9o0+5DIhayfGrmAtdtQutQNCclONqBlk7r3/16Y8Lr376dDHrISZlwd
36
+ fdbUKgJXqJeb4GYhiKV07l67XExVjmAklMuA6bcB7mk+aSYUkoWNic4ZYGNjVv88
37
+ AapqLKNG/UPfrJhdhTtFR4ARb8f54rgzONhTaAqVk23Bdp1yoDXaulFCkmU=
36
38
  -----END CERTIFICATE-----
37
- date: 2018-01-24 00:00:00.000000000 Z
39
+ date: 2020-12-29 00:00:00.000000000 Z
38
40
  dependencies:
39
41
  - !ruby/object:Gem::Dependency
40
42
  name: thor
41
43
  requirement: !ruby/object:Gem::Requirement
42
44
  requirements:
43
- - - "<"
44
- - !ruby/object:Gem::Version
45
- version: '0.21'
46
45
  - - ">="
47
46
  - !ruby/object:Gem::Version
48
- version: 0.19.1
47
+ version: 0.20.3
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '2.0'
49
51
  type: :runtime
50
52
  prerelease: false
51
53
  version_requirements: !ruby/object:Gem::Requirement
52
54
  requirements:
53
- - - "<"
54
- - !ruby/object:Gem::Version
55
- version: '0.21'
56
55
  - - ">="
57
56
  - !ruby/object:Gem::Version
58
- version: 0.19.1
57
+ version: 0.20.3
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.0'
59
61
  - !ruby/object:Gem::Dependency
60
62
  name: hashie
61
63
  requirement: !ruby/object:Gem::Requirement
@@ -154,18 +156,21 @@ files:
154
156
  - README.md
155
157
  - bin/chamber
156
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
157
162
  - lib/chamber/binary/heroku.rb
158
163
  - lib/chamber/binary/runner.rb
159
164
  - lib/chamber/binary/travis.rb
160
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
161
171
  - lib/chamber/commands/comparable.rb
162
172
  - lib/chamber/commands/compare.rb
163
173
  - lib/chamber/commands/files.rb
164
- - lib/chamber/commands/heroku.rb
165
- - lib/chamber/commands/heroku/clear.rb
166
- - lib/chamber/commands/heroku/compare.rb
167
- - lib/chamber/commands/heroku/pull.rb
168
- - lib/chamber/commands/heroku/push.rb
169
174
  - lib/chamber/commands/initialize.rb
170
175
  - lib/chamber/commands/securable.rb
171
176
  - lib/chamber/commands/secure.rb
@@ -181,6 +186,7 @@ files:
181
186
  - lib/chamber/encryption_methods/public_key.rb
182
187
  - lib/chamber/encryption_methods/ssl.rb
183
188
  - lib/chamber/errors/decryption_failure.rb
189
+ - lib/chamber/errors/environment_conversion.rb
184
190
  - lib/chamber/file.rb
185
191
  - lib/chamber/file_set.rb
186
192
  - lib/chamber/files/signature.rb
@@ -211,7 +217,13 @@ licenses:
211
217
  - MIT
212
218
  metadata:
213
219
  allowed_push_host: https://rubygems.org
214
- 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:
215
227
  rdoc_options: []
216
228
  require_paths:
217
229
  - lib
@@ -219,16 +231,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
219
231
  requirements:
220
232
  - - ">="
221
233
  - !ruby/object:Gem::Version
222
- version: '0'
234
+ version: 2.1.0
223
235
  required_rubygems_version: !ruby/object:Gem::Requirement
224
236
  requirements:
225
237
  - - ">="
226
238
  - !ruby/object:Gem::Version
227
239
  version: '0'
228
240
  requirements: []
229
- rubyforge_project:
230
- rubygems_version: 2.6.14
231
- signing_key:
241
+ rubygems_version: 3.2.3
242
+ signing_key:
232
243
  specification_version: 4
233
244
  summary: A surprisingly configurable convention-based approach to managing your application's
234
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