chamber 3.0.0rc1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.md +5 -5
  4. data/lib/chamber/binary/runner.rb +10 -12
  5. data/lib/chamber/commands/base.rb +4 -4
  6. data/lib/chamber/commands/initialize.rb +5 -5
  7. data/lib/chamber/commands/securable.rb +5 -9
  8. data/lib/chamber/commands/show.rb +0 -1
  9. data/lib/chamber/context_resolver.rb +5 -4
  10. data/lib/chamber/encryption_methods/public_key.rb +26 -14
  11. data/lib/chamber/encryption_methods/ssl.rb +36 -28
  12. data/lib/chamber/errors/disallowed_class.rb +8 -0
  13. data/lib/chamber/errors/invalid_key_type.rb +8 -0
  14. data/lib/chamber/errors/missing_index.rb +13 -0
  15. data/lib/chamber/errors/missing_setting.rb +13 -0
  16. data/lib/chamber/errors/non_conforming_key.rb +8 -0
  17. data/lib/chamber/file.rb +18 -7
  18. data/lib/chamber/file_set.rb +5 -1
  19. data/lib/chamber/files/signature.rb +6 -6
  20. data/lib/chamber/filters/decryption_filter.rb +9 -11
  21. data/lib/chamber/filters/encryption_filter.rb +8 -9
  22. data/lib/chamber/filters/environment_filter.rb +16 -18
  23. data/lib/chamber/filters/failed_decryption_filter.rb +3 -3
  24. data/lib/chamber/filters/namespace_filter.rb +10 -12
  25. data/lib/chamber/filters/secure_filter.rb +3 -3
  26. data/lib/chamber/filters/translate_secure_keys_filter.rb +3 -3
  27. data/lib/chamber/instance.rb +4 -7
  28. data/lib/chamber/integrations/sinatra.rb +1 -1
  29. data/lib/chamber/keys/base.rb +11 -7
  30. data/lib/chamber/namespace_set.rb +2 -2
  31. data/lib/chamber/rails.rb +1 -1
  32. data/lib/chamber/refinements/deep_dup.rb +12 -36
  33. data/lib/chamber/refinements/enumerable.rb +8 -20
  34. data/lib/chamber/refinements/hash.rb +10 -36
  35. data/lib/chamber/rubinius_fix.rb +1 -1
  36. data/lib/chamber/settings.rb +39 -23
  37. data/lib/chamber/types/secured.rb +8 -8
  38. data/lib/chamber/version.rb +1 -1
  39. data/lib/chamber.rb +0 -5
  40. data.tar.gz.sig +0 -0
  41. metadata +29 -34
  42. metadata.gz.sig +0 -0
  43. data/lib/chamber/adapters/cloud/circle_ci.rb +0 -85
  44. data/lib/chamber/adapters/cloud/heroku.rb +0 -74
  45. data/lib/chamber/binary/circle_ci.rb +0 -123
  46. data/lib/chamber/binary/heroku.rb +0 -111
  47. data/lib/chamber/binary/travis.rb +0 -37
  48. data/lib/chamber/commands/cloud/base.rb +0 -35
  49. data/lib/chamber/commands/cloud/clear.rb +0 -25
  50. data/lib/chamber/commands/cloud/compare.rb +0 -26
  51. data/lib/chamber/commands/cloud/pull.rb +0 -29
  52. data/lib/chamber/commands/cloud/push.rb +0 -44
  53. data/lib/chamber/commands/travis/secure.rb +0 -37
  54. 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