chamber 2.12.3 → 2.14.1
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.
- checksums.yaml +5 -5
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/README.md +101 -26
- data/lib/chamber.rb +82 -10
- data/lib/chamber/adapters/cloud/circle_ci.rb +85 -0
- data/lib/chamber/adapters/cloud/heroku.rb +74 -0
- data/lib/chamber/binary/circle_ci.rb +122 -0
- data/lib/chamber/binary/heroku.rb +45 -16
- data/lib/chamber/binary/runner.rb +42 -26
- data/lib/chamber/binary/travis.rb +5 -3
- data/lib/chamber/commands/base.rb +10 -16
- data/lib/chamber/commands/cloud/base.rb +35 -0
- data/lib/chamber/commands/{heroku → cloud}/clear.rb +6 -8
- data/lib/chamber/commands/cloud/compare.rb +26 -0
- data/lib/chamber/commands/cloud/pull.rb +29 -0
- data/lib/chamber/commands/cloud/push.rb +44 -0
- data/lib/chamber/commands/comparable.rb +2 -2
- data/lib/chamber/commands/compare.rb +6 -9
- data/lib/chamber/commands/initialize.rb +26 -22
- data/lib/chamber/commands/securable.rb +10 -10
- data/lib/chamber/commands/secure.rb +2 -2
- data/lib/chamber/commands/show.rb +8 -8
- data/lib/chamber/commands/sign.rb +2 -2
- data/lib/chamber/commands/verify.rb +2 -2
- data/lib/chamber/configuration.rb +8 -3
- data/lib/chamber/context_resolver.rb +16 -7
- data/lib/chamber/encryption_methods/ssl.rb +21 -12
- data/lib/chamber/file.rb +22 -20
- data/lib/chamber/file_set.rb +21 -11
- data/lib/chamber/files/signature.rb +31 -23
- data/lib/chamber/filters/decryption_filter.rb +13 -11
- data/lib/chamber/filters/encryption_filter.rb +17 -8
- data/lib/chamber/filters/environment_filter.rb +12 -14
- data/lib/chamber/filters/failed_decryption_filter.rb +6 -6
- data/lib/chamber/filters/insecure_filter.rb +12 -3
- data/lib/chamber/filters/namespace_filter.rb +5 -5
- data/lib/chamber/filters/secure_filter.rb +5 -5
- data/lib/chamber/filters/translate_secure_keys_filter.rb +5 -5
- data/lib/chamber/instance.rb +54 -30
- data/lib/chamber/integrations/rails.rb +1 -1
- data/lib/chamber/integrations/sinatra.rb +6 -6
- data/lib/chamber/key_pair.rb +8 -8
- data/lib/chamber/keys/base.rb +35 -41
- data/lib/chamber/keys/decryption.rb +8 -14
- data/lib/chamber/keys/encryption.rb +8 -14
- data/lib/chamber/namespace_set.rb +2 -4
- data/lib/chamber/settings.rb +86 -56
- data/lib/chamber/types/secured.rb +8 -10
- data/lib/chamber/version.rb +1 -1
- data/templates/settings.yml +2 -0
- metadata +51 -41
- metadata.gz.sig +0 -0
- data/lib/chamber/commands/heroku.rb +0 -31
- data/lib/chamber/commands/heroku/compare.rb +0 -33
- data/lib/chamber/commands/heroku/pull.rb +0 -30
- data/lib/chamber/commands/heroku/push.rb +0 -27
@@ -3,21 +3,19 @@
|
|
3
3
|
require 'active_support/json'
|
4
4
|
require 'chamber'
|
5
5
|
|
6
|
-
# rubocop:disable Lint/HandleExceptions, Layout/EmptyLinesAroundModuleBody
|
7
6
|
module Chamber
|
8
|
-
|
9
7
|
begin
|
10
8
|
require 'active_record/type/value'
|
11
9
|
|
12
10
|
CHAMBER_TYPE_VALUE_SUPERCLASS = ActiveRecord::Type::Value
|
13
|
-
rescue LoadError
|
11
|
+
rescue LoadError # rubocop:disable Lint/SuppressedException
|
14
12
|
end
|
15
13
|
|
16
14
|
begin
|
17
15
|
require 'active_model/type/value'
|
18
16
|
|
19
17
|
CHAMBER_TYPE_VALUE_SUPERCLASS = ActiveModel::Type::Value
|
20
|
-
rescue LoadError
|
18
|
+
rescue LoadError # rubocop:disable Lint/SuppressedException
|
21
19
|
end
|
22
20
|
|
23
21
|
module Types
|
@@ -25,11 +23,12 @@ class Secured < CHAMBER_TYPE_VALUE_SUPERCLASS
|
|
25
23
|
attr_accessor :decryption_keys,
|
26
24
|
:encryption_keys
|
27
25
|
|
28
|
-
def initialize(
|
29
|
-
|
30
|
-
|
31
|
-
self.
|
32
|
-
|
26
|
+
def initialize(decryption_keys: ::Chamber.configuration.decryption_keys,
|
27
|
+
encryption_keys: ::Chamber.configuration.encryption_keys)
|
28
|
+
self.decryption_keys = decryption_keys
|
29
|
+
self.encryption_keys = encryption_keys
|
30
|
+
|
31
|
+
super()
|
33
32
|
end
|
34
33
|
|
35
34
|
def type
|
@@ -78,4 +77,3 @@ class Secured < CHAMBER_TYPE_VALUE_SUPERCLASS
|
|
78
77
|
end
|
79
78
|
end
|
80
79
|
end
|
81
|
-
# rubocop:enable Lint/HandleExceptions, Layout/EmptyLinesAroundModuleBody
|
data/lib/chamber/version.rb
CHANGED
data/templates/settings.yml
CHANGED
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.
|
4
|
+
version: 2.14.1
|
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
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
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:
|
39
|
+
date: 2020-12-31 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.
|
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.
|
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
|
@@ -212,7 +217,13 @@ licenses:
|
|
212
217
|
- MIT
|
213
218
|
metadata:
|
214
219
|
allowed_push_host: https://rubygems.org
|
215
|
-
|
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:
|
216
227
|
rdoc_options: []
|
217
228
|
require_paths:
|
218
229
|
- lib
|
@@ -220,16 +231,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
220
231
|
requirements:
|
221
232
|
- - ">="
|
222
233
|
- !ruby/object:Gem::Version
|
223
|
-
version:
|
234
|
+
version: 2.1.0
|
224
235
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
225
236
|
requirements:
|
226
237
|
- - ">="
|
227
238
|
- !ruby/object:Gem::Version
|
228
239
|
version: '0'
|
229
240
|
requirements: []
|
230
|
-
|
231
|
-
|
232
|
-
signing_key:
|
241
|
+
rubygems_version: 3.2.3
|
242
|
+
signing_key:
|
233
243
|
specification_version: 4
|
234
244
|
summary: A surprisingly configurable convention-based approach to managing your application's
|
235
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
|