doppler-client 0.1.0 → 0.1.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 +4 -4
- data/Gemfile.lock +24 -0
- data/README.md +34 -0
- data/doppler-client.gemspec +3 -3
- data/lib/doppler/client.rb +23 -7
- metadata +5 -4
- data/lib/doppler/client/version.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d7f6b03743332da764917f49710df2b127cb344
|
4
|
+
data.tar.gz: 29877f453214135f86556bed11be6991fe329ff6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 433a86772655ccfd58e78f3ba29d058c5a23c1671a242d2667dfd1a312cb87bed2a9876f5ab2c46912e564d4628b28794c3f2b5143dbbc4895dd270e0ac8f048
|
7
|
+
data.tar.gz: 9a890472004451d05d85f8d20694cb0eac73839be203aecf92da59f66f3412b73bd46b2794714f25f124727196928366f6aea5d0771704f3a61ee640a7a71c9b
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
doppler-client (0.1.0)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: https://rubygems.org/
|
8
|
+
specs:
|
9
|
+
hitimes (1.3.0)
|
10
|
+
minitest (5.11.3)
|
11
|
+
rake (10.5.0)
|
12
|
+
|
13
|
+
PLATFORMS
|
14
|
+
ruby
|
15
|
+
|
16
|
+
DEPENDENCIES
|
17
|
+
bundler (~> 1.16)
|
18
|
+
doppler-client!
|
19
|
+
hitimes (~> 1.3)
|
20
|
+
minitest (~> 5.0)
|
21
|
+
rake (~> 10.0)
|
22
|
+
|
23
|
+
BUNDLED WITH
|
24
|
+
1.16.5
|
data/README.md
CHANGED
@@ -88,6 +88,40 @@ doppler = Doppler::Client.new(
|
|
88
88
|
```
|
89
89
|
|
90
90
|
|
91
|
+
## Local Key Privacy
|
92
|
+
|
93
|
+
By default the Doppler client will send all your local environment keys on `init`. This
|
94
|
+
is done for 2 reasons. Collecting your local keys helps us automatically setup your pipelines
|
95
|
+
for immediate use. After setup we also use your keys to detect when your keys locally have
|
96
|
+
changed from what is on Doppler. We then provide a way for you to adopt or reject those changes
|
97
|
+
through our dashboard. This can help help when debugging silent bugs or build failures.
|
98
|
+
|
99
|
+
If you would like the Doppler client to not send your keys we provide 2 ways to do it.
|
100
|
+
|
101
|
+
### Globally
|
102
|
+
To ensure all your local keys are not sent to Doppler, set the `send_local_keys` attribute to `false`.
|
103
|
+
|
104
|
+
``` ruby
|
105
|
+
doppler = Doppler::Client.new(
|
106
|
+
# ...
|
107
|
+
send_local_keys = false # DEFAUTLS => True
|
108
|
+
)
|
109
|
+
```
|
110
|
+
|
111
|
+
|
112
|
+
### Individual Key
|
113
|
+
You can also ignore specific local keys by adding them to the `ignore_keys` array.
|
114
|
+
|
115
|
+
``` ruby
|
116
|
+
doppler = Doppler::Client.new(
|
117
|
+
# ...
|
118
|
+
ignore_keys: [
|
119
|
+
"SUPER_SECRET_KEY"
|
120
|
+
]
|
121
|
+
)
|
122
|
+
```
|
123
|
+
|
124
|
+
|
91
125
|
## Extra Information
|
92
126
|
|
93
127
|
- [Doppler](https://doppler.market)
|
data/doppler-client.gemspec
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
lib = File.expand_path("../lib", __FILE__)
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require "doppler/client/version"
|
4
3
|
|
5
4
|
Gem::Specification.new do |spec|
|
6
5
|
spec.name = "doppler-client"
|
7
|
-
spec.version =
|
8
|
-
spec.authors = "Doppler Team"
|
6
|
+
spec.version = "0.1.1"
|
7
|
+
spec.authors = ["Doppler Team"]
|
9
8
|
spec.email = "brian@doppler.market"
|
10
9
|
|
11
10
|
spec.summary = "The official Doppler Ruby client."
|
12
11
|
spec.description = "Doppler helps you manage your API keys and secrets across all your projects. See https://doppler.market for details."
|
13
12
|
spec.homepage = "https://github.com/DopplerHQ/ruby-client"
|
13
|
+
spec.licenses = "Apache-2.0"
|
14
14
|
|
15
15
|
# Specify which files should be added to the gem when it is released.
|
16
16
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
data/lib/doppler/client.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "doppler/client/version"
|
2
2
|
require 'net/https'
|
3
3
|
require 'json'
|
4
|
+
require 'set'
|
4
5
|
|
5
6
|
module Doppler
|
6
7
|
class Priority
|
@@ -21,24 +22,37 @@ module Doppler
|
|
21
22
|
@@environ_segment = '/environments/'
|
22
23
|
@@max_retries = 0
|
23
24
|
|
24
|
-
def initialize(api_key, pipeline, environment, priority = Priority.remote)
|
25
|
+
def initialize(api_key, pipeline, environment, priority = Priority.remote, send_local_keys = true, ignore_keys = [])
|
25
26
|
raise ArgumentError, 'api_key not string' unless api_key.is_a? String
|
26
27
|
raise ArgumentError, 'pipeline not string' unless pipeline.is_a? String
|
27
28
|
raise ArgumentError, 'api_key not string' unless environment.is_a? String
|
28
|
-
raise ArgumentError, '
|
29
|
+
raise ArgumentError, 'priority not numeric' unless priority.is_a? Numeric
|
29
30
|
|
30
31
|
@api_key = api_key
|
31
32
|
@pipeline = pipeline
|
32
33
|
@environment = environment
|
33
34
|
@default_priority = priority
|
35
|
+
@send_local_keys = send_local_keys
|
36
|
+
@ignore_keys = ignore_keys.to_set
|
34
37
|
@host = ENV[@@host_key] ? ENV[@@host_key] : @@default_host
|
35
38
|
|
36
39
|
startup()
|
37
40
|
end
|
38
41
|
|
39
42
|
def startup
|
43
|
+
keys_to_send = {}
|
44
|
+
local_keys = ENV.to_hash
|
45
|
+
|
46
|
+
if @send_local_keys
|
47
|
+
local_keys.each do |key, value|
|
48
|
+
if not @ignore_keys.include?(key)
|
49
|
+
keys_to_send[key] = value
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
40
54
|
resp = self._request('/fetch_keys', {
|
41
|
-
'local_keys' =>
|
55
|
+
'local_keys' => keys_to_send
|
42
56
|
})
|
43
57
|
|
44
58
|
@remote_keys = resp['keys']
|
@@ -54,10 +68,12 @@ module Doppler
|
|
54
68
|
return @remote_keys[key_name]
|
55
69
|
end
|
56
70
|
end
|
57
|
-
|
58
|
-
|
59
|
-
'
|
60
|
-
|
71
|
+
|
72
|
+
if not @ignore_keys.include?(key_name)
|
73
|
+
_request('/missing_key', {
|
74
|
+
'key_name' => key_name
|
75
|
+
})
|
76
|
+
end
|
61
77
|
|
62
78
|
return ENV[key_name]
|
63
79
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doppler-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Doppler Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -76,6 +76,7 @@ files:
|
|
76
76
|
- ".gitignore"
|
77
77
|
- CODE_OF_CONDUCT.md
|
78
78
|
- Gemfile
|
79
|
+
- Gemfile.lock
|
79
80
|
- LICENSE
|
80
81
|
- README.md
|
81
82
|
- Rakefile
|
@@ -83,9 +84,9 @@ files:
|
|
83
84
|
- bin/setup
|
84
85
|
- doppler-client.gemspec
|
85
86
|
- lib/doppler/client.rb
|
86
|
-
- lib/doppler/client/version.rb
|
87
87
|
homepage: https://github.com/DopplerHQ/ruby-client
|
88
|
-
licenses:
|
88
|
+
licenses:
|
89
|
+
- Apache-2.0
|
89
90
|
metadata: {}
|
90
91
|
post_install_message:
|
91
92
|
rdoc_options: []
|