dry-credentials 0.5.1 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8940c71155c930786c83a30a5513a6e8312eaa10c161caa8a6a6b69f700626f9
4
- data.tar.gz: b44e8fbb54d2bd7dd11d0d43cbe5c4f84f4e0f4b1ef94b5766359b0e7276ddfb
3
+ metadata.gz: 59e93960ef8033dd289fd382ba92c1defbced92dc86a201946873cfec8db7c7f
4
+ data.tar.gz: acad0ec132d3509ec9fb43bb50643c610ab97e333e56a1943f2a8fedde65769f
5
5
  SHA512:
6
- metadata.gz: 02f67b851a1e06dbd9973a4e809881d989e88399bb8498ec46f28dad9862fc1f87973fe17988ce2955a248bcd2620e2acbcadc4a4d12316cb0167e8ec07292d4
7
- data.tar.gz: 7de2214a5ea6da20fbf749d901111ca503aac98f5a287743e1761d0adeab3d794d0694bb4ad70810a4d2b6dabde9ba8e5b3345f7272ea3063c803ab56db312a5
6
+ metadata.gz: aaca0a61c03a5bfd7534d9c80147211acb74091d836d6f4a9062665b00d53984af8f48300034548ca7a85a7e5ee739b80a54e0686c19f5b1e0b5521f70035517
7
+ data.tar.gz: 4d90b470e1ffaa8c4812baac426763e625c92c1e2bb22021e3a50fe2703cb8d46fa0cbbf3cd09f0f47a8b1dbff97c688c6ecbcf2f161c4cdb4df774226b2b640
data/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  Nothing so far
4
4
 
5
+ ## 0.6.1
6
+
7
+ ### Improvements
8
+ * Enforce MFA for future gem releases
9
+
10
+ ## 0.6.0
11
+
12
+ ### Additions
13
+ * Allow keys to be read from file e.g. `CREDENTIALS_KEY_FILE`
14
+
5
15
  ## 0.5.1
6
16
 
7
17
  ### Changes
data/README.md CHANGED
@@ -94,6 +94,13 @@ Alternatively, you can omit the first part of the variable name. Such a key will
94
94
  export CREDENTIALS_KEY=68656973716a4e706e336733377245732b6e77584c6c772b5432446532456f674767664271374a623876383d
95
95
  ```
96
96
 
97
+ You can also read keys from files which is the recommended way when using [secrets in Docker Compose](https://docs.docker.com/compose/how-tos/use-secrets/). Just append `_FILE` to the corresponding environment variable name and set it to the path from which the secret can be read, for example:
98
+
99
+ ```db
100
+ export SANDBOX_CREDENTIALS_KEY_FILE=/run/secrets/sandbox_credentials_key
101
+ export CREDENTIALS_KEY_FILE=/run/secrets/credentials_key
102
+ ```
103
+
97
104
  With this in place, you can use the decrypted credentials anywhere in your app:
98
105
 
99
106
  ```ruby
@@ -72,10 +72,15 @@ module Dry
72
72
  private
73
73
 
74
74
  def key
75
- if create?
75
+ case
76
+ when create?
76
77
  ENV[key_ev] = encryptor.generate_key
78
+ when key = ENV[key_ev] || ENV['CREDENTIALS_KEY']
79
+ key
80
+ when file = ENV["#{key_ev}_FILE"] || ENV['CREDENTIALS_KEY_FILE']
81
+ File.read(file)
77
82
  else
78
- (ENV[key_ev] || ENV['CREDENTIALS_KEY']) or fail Dry::Credentials::KeyNotSetError
83
+ fail Dry::Credentials::KeyNotSetError
79
84
  end
80
85
  end
81
86
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Dry
4
4
  module Credentials
5
- VERSION = "0.5.1"
5
+ VERSION = "0.6.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-credentials
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Schwyn
@@ -93,20 +93,6 @@ dependencies:
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0'
96
- - !ruby/object:Gem::Dependency
97
- name: minitest-focus
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- type: :development
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
96
  - !ruby/object:Gem::Dependency
111
97
  name: guard
112
98
  requirement: !ruby/object:Gem::Requirement
@@ -187,6 +173,7 @@ metadata:
187
173
  source_code_uri: https://github.com/svoop/dry-credentials
188
174
  documentation_uri: https://www.rubydoc.info/gems/dry-credentials
189
175
  bug_tracker_uri: https://github.com/svoop/dry-credentials/issues
176
+ rubygems_mfa_required: 'true'
190
177
  rdoc_options:
191
178
  - "--title"
192
179
  - Dry::Credentials
@@ -208,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
195
  - !ruby/object:Gem::Version
209
196
  version: '0'
210
197
  requirements: []
211
- rubygems_version: 4.0.3
198
+ rubygems_version: 4.0.6
212
199
  specification_version: 4
213
200
  summary: A mixin to use encrypted credentials in your classes
214
201
  test_files: []