chamber 3.0.0rc1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.md +5 -5
- data/lib/chamber/binary/runner.rb +10 -12
- data/lib/chamber/commands/base.rb +4 -4
- data/lib/chamber/commands/initialize.rb +5 -5
- data/lib/chamber/commands/securable.rb +5 -9
- data/lib/chamber/commands/show.rb +0 -1
- data/lib/chamber/context_resolver.rb +5 -4
- data/lib/chamber/encryption_methods/public_key.rb +26 -14
- data/lib/chamber/encryption_methods/ssl.rb +36 -28
- data/lib/chamber/errors/disallowed_class.rb +8 -0
- data/lib/chamber/errors/invalid_key_type.rb +8 -0
- data/lib/chamber/errors/missing_index.rb +13 -0
- data/lib/chamber/errors/missing_setting.rb +13 -0
- data/lib/chamber/errors/non_conforming_key.rb +8 -0
- data/lib/chamber/file.rb +18 -7
- data/lib/chamber/file_set.rb +5 -1
- data/lib/chamber/files/signature.rb +6 -6
- data/lib/chamber/filters/decryption_filter.rb +9 -11
- data/lib/chamber/filters/encryption_filter.rb +8 -9
- data/lib/chamber/filters/environment_filter.rb +16 -18
- data/lib/chamber/filters/failed_decryption_filter.rb +3 -3
- data/lib/chamber/filters/namespace_filter.rb +10 -12
- data/lib/chamber/filters/secure_filter.rb +3 -3
- data/lib/chamber/filters/translate_secure_keys_filter.rb +3 -3
- data/lib/chamber/instance.rb +4 -7
- data/lib/chamber/integrations/sinatra.rb +1 -1
- data/lib/chamber/keys/base.rb +11 -7
- data/lib/chamber/namespace_set.rb +2 -2
- data/lib/chamber/rails.rb +1 -1
- data/lib/chamber/refinements/deep_dup.rb +12 -36
- data/lib/chamber/refinements/enumerable.rb +8 -20
- data/lib/chamber/refinements/hash.rb +10 -36
- data/lib/chamber/rubinius_fix.rb +1 -1
- data/lib/chamber/settings.rb +39 -23
- data/lib/chamber/types/secured.rb +8 -8
- data/lib/chamber/version.rb +1 -1
- data/lib/chamber.rb +0 -5
- data.tar.gz.sig +0 -0
- metadata +29 -34
- metadata.gz.sig +0 -0
- data/lib/chamber/adapters/cloud/circle_ci.rb +0 -85
- data/lib/chamber/adapters/cloud/heroku.rb +0 -74
- data/lib/chamber/binary/circle_ci.rb +0 -123
- data/lib/chamber/binary/heroku.rb +0 -111
- data/lib/chamber/binary/travis.rb +0 -37
- data/lib/chamber/commands/cloud/base.rb +0 -35
- data/lib/chamber/commands/cloud/clear.rb +0 -25
- data/lib/chamber/commands/cloud/compare.rb +0 -26
- data/lib/chamber/commands/cloud/pull.rb +0 -29
- data/lib/chamber/commands/cloud/push.rb +0 -44
- data/lib/chamber/commands/travis/secure.rb +0 -37
- data/lib/chamber/refinements/array.rb +0 -20
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'chamber/commands/cloud/base'
|
4
|
-
|
5
|
-
module Chamber
|
6
|
-
module Commands
|
7
|
-
module Cloud
|
8
|
-
class Clear < Chamber::Commands::Cloud::Base
|
9
|
-
def call
|
10
|
-
chamber.to_environment.each_key do |key|
|
11
|
-
next unless adapter.environment_variables.has_key?(key)
|
12
|
-
|
13
|
-
if dry_run
|
14
|
-
shell.say_status 'remove', key, :blue
|
15
|
-
else
|
16
|
-
shell.say_status 'remove', key, :green
|
17
|
-
|
18
|
-
adapter.remove_environment_variable(key)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'chamber/commands/cloud/base'
|
4
|
-
require 'chamber/commands/comparable'
|
5
|
-
require 'chamber/commands/securable'
|
6
|
-
|
7
|
-
module Chamber
|
8
|
-
module Commands
|
9
|
-
module Cloud
|
10
|
-
class Compare < Chamber::Commands::Cloud::Base
|
11
|
-
include Chamber::Commands::Securable
|
12
|
-
include Chamber::Commands::Comparable
|
13
|
-
|
14
|
-
protected
|
15
|
-
|
16
|
-
def first_settings_data
|
17
|
-
::JSON.pretty_generate(securable_environment_variables)
|
18
|
-
end
|
19
|
-
|
20
|
-
def second_settings_data
|
21
|
-
::JSON.pretty_generate(adapter.environment_variables)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'json'
|
4
|
-
require 'chamber/commands/cloud/base'
|
5
|
-
|
6
|
-
module Chamber
|
7
|
-
module Commands
|
8
|
-
module Cloud
|
9
|
-
class Pull < Chamber::Commands::Cloud::Base
|
10
|
-
attr_accessor :target_file
|
11
|
-
|
12
|
-
def initialize(into:, **args)
|
13
|
-
super
|
14
|
-
|
15
|
-
self.target_file = into
|
16
|
-
end
|
17
|
-
|
18
|
-
def call
|
19
|
-
if target_file
|
20
|
-
shell.create_file(target_file,
|
21
|
-
::JSON.pretty_generate(adapter.environment_variables))
|
22
|
-
else
|
23
|
-
adapter.environment_variables
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'chamber/commands/cloud/base'
|
4
|
-
require 'chamber/commands/securable'
|
5
|
-
require 'chamber/keys/decryption'
|
6
|
-
|
7
|
-
module Chamber
|
8
|
-
module Commands
|
9
|
-
module Cloud
|
10
|
-
class Push < Chamber::Commands::Cloud::Base
|
11
|
-
include Chamber::Commands::Securable
|
12
|
-
|
13
|
-
attr_accessor :keys
|
14
|
-
|
15
|
-
def initialize(keys:, **args)
|
16
|
-
super(**args)
|
17
|
-
|
18
|
-
self.keys = keys
|
19
|
-
end
|
20
|
-
|
21
|
-
def call
|
22
|
-
environment_variables = if keys
|
23
|
-
Keys::Decryption
|
24
|
-
.new(rootpath: chamber.configuration.rootpath,
|
25
|
-
namespaces: chamber.configuration.namespaces)
|
26
|
-
.as_environment_variables
|
27
|
-
else
|
28
|
-
securable_environment_variables
|
29
|
-
end
|
30
|
-
|
31
|
-
environment_variables.each do |key, value|
|
32
|
-
if dry_run
|
33
|
-
shell.say_status 'push', key, :blue
|
34
|
-
else
|
35
|
-
shell.say_status 'push', key, :green
|
36
|
-
|
37
|
-
adapter.add_environment_variable(key, value)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'chamber/commands/base'
|
4
|
-
require 'chamber/commands/travis'
|
5
|
-
require 'chamber/commands/securable'
|
6
|
-
|
7
|
-
module Chamber
|
8
|
-
module Commands
|
9
|
-
module Travis
|
10
|
-
class Secure < Chamber::Commands::Base
|
11
|
-
include Chamber::Commands::Travis
|
12
|
-
include Chamber::Commands::Securable
|
13
|
-
|
14
|
-
def call
|
15
|
-
securable_environment_variables.each do |key, value|
|
16
|
-
if dry_run
|
17
|
-
shell.say_status 'encrypt', key, :blue
|
18
|
-
else
|
19
|
-
command = first_environment_variable?(key) ? '--override' : '--append'
|
20
|
-
|
21
|
-
shell.say_status 'encrypt', key, :green
|
22
|
-
travis_encrypt("#{command} #{key}=#{value}")
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
protected
|
28
|
-
|
29
|
-
def first_environment_variable?(key)
|
30
|
-
@first_environment_key ||= securable_environment_variables.first[0]
|
31
|
-
|
32
|
-
@first_environment_key == key
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'rspectacular'
|
4
|
-
require 'chamber/refinements/enumerable'
|
5
|
-
|
6
|
-
module Chamber
|
7
|
-
module Refinements
|
8
|
-
module Array
|
9
|
-
refine ::Array do
|
10
|
-
def deep_transform_keys(&block)
|
11
|
-
Refinements::Enumerable.deep_transform_keys(self, &block)
|
12
|
-
end
|
13
|
-
|
14
|
-
def deep_transform_values(&block)
|
15
|
-
Refinements::Enumerable.deep_transform_values(nil, self, &block)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|