sekrets 1.10.0 → 1.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/bin/sekrets +11 -16
- data/lib/sekrets.rb +24 -8
- data/sekrets.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4dd69d78364d9acd5caa6fca9607e5e1443fe8e
|
4
|
+
data.tar.gz: ab7f57bec13c2916b19a6dea4831ca1dca155662
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 207fffa3fedbe325336c420e4929670a7136ac05a8c023462e9f883f007fa488f3abe3abb1d90d5554758984a4db5969f0c243252462c0da5753c3713a95e618
|
7
|
+
data.tar.gz: 901db375c92b81deb9222c0e3856b8f6d7838f606231a0affaf5b18a2bfbe606ddc7a93205f20bfae88ef470cd079ad281e3d253c4b097aa42084d0f85ffb450
|
data/README.md
CHANGED
@@ -14,7 +14,7 @@ sekrets is a command line tool and library used to securely manage encrypted fil
|
|
14
14
|
|
15
15
|
sekrets provides commandline tools and a library to manage and access encrypted files in your code base.
|
16
16
|
|
17
|
-
It allows one to check encrypted
|
17
|
+
It allows one to check encrypted information into a repository and to manage it alongside the rest of the code base. It eliminates the need to check in unencrypted information, keys, or other sensitive information.
|
18
18
|
|
19
19
|
sekrets provides both a general mechanism for managing arbitrary encrypted files and a specific mechanism for managing encrypted config files.
|
20
20
|
|
@@ -94,7 +94,7 @@ see `Sekrets.key_for` for explicit details
|
|
94
94
|
|
95
95
|
## KEY DISTRIBUTION
|
96
96
|
|
97
|
-
sekrets does *not* attempt to solve the key distribution problem for you,with one exception:
|
97
|
+
sekrets does *not* attempt to solve the key distribution problem for you, with one exception:
|
98
98
|
|
99
99
|
If you are using capistrano to do a *vanilla* ssh based deploy, a simple recipe is provided which will detect a local keyfile and scp it onto the remote server(s) on deploy.
|
100
100
|
|
data/bin/sekrets
CHANGED
@@ -63,9 +63,9 @@ Main {
|
|
63
63
|
sekrets provides commandline tools and a library to manage and access
|
64
64
|
encrypted files in your code base.
|
65
65
|
|
66
|
-
it allows one to check encrypted
|
67
|
-
it alongside the rest of the code base. it
|
68
|
-
unencrypted information, keys, or other sensitive
|
66
|
+
it allows one to check encrypted information into a repository and to manage
|
67
|
+
it alongside the rest of the code base. it eliminates the need to check in
|
68
|
+
unencrypted information, keys, or other sensitive information.
|
69
69
|
|
70
70
|
sekrets provides both a general mechanism for managing arbitrary encrypted
|
71
71
|
files and a specific mechanism for managing encrypted config files.
|
@@ -323,21 +323,16 @@ Main {
|
|
323
323
|
basename = File.basename(path)
|
324
324
|
encrypted = nil
|
325
325
|
|
326
|
-
Sekrets.
|
327
|
-
|
326
|
+
tmpfile = Sekrets.tmpfile_for(basename, decrypted)
|
327
|
+
command = "#{ Sekrets.editor } #{ tmpfile }"
|
328
328
|
|
329
|
-
|
329
|
+
status = Sekrets.system(command)
|
330
330
|
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
if $?.exitstatus == 0
|
338
|
-
content = IO.binread(basename)
|
339
|
-
Sekrets.write(path, content, :key => key)
|
340
|
-
end
|
331
|
+
if status == 0
|
332
|
+
content = IO.binread(tmpfile)
|
333
|
+
Sekrets.write(path, content, :key => key)
|
334
|
+
else
|
335
|
+
abort "command `#{ command }` failed and no new `#{ path }` was saved!"
|
341
336
|
end
|
342
337
|
end
|
343
338
|
}
|
data/lib/sekrets.rb
CHANGED
@@ -158,7 +158,23 @@ class Sekrets
|
|
158
158
|
dirname
|
159
159
|
end
|
160
160
|
end
|
161
|
-
|
161
|
+
|
162
|
+
def Sekrets.tmpfile_for(basename, data)
|
163
|
+
tmpfile = File.join(Sekrets.tmpdir, basename)
|
164
|
+
IO.binwrite(tmpfile, data)
|
165
|
+
tmpfile
|
166
|
+
end
|
167
|
+
|
168
|
+
def Sekrets.system(command)
|
169
|
+
if defined?(Bundler.with_clean_env)
|
170
|
+
Bundler.with_clean_env{ Kernel.system(command) }
|
171
|
+
else
|
172
|
+
Kernel.system(command)
|
173
|
+
end
|
174
|
+
|
175
|
+
return $?.exitstatus
|
176
|
+
end
|
177
|
+
|
162
178
|
#
|
163
179
|
def Sekrets.openw(arg, &block)
|
164
180
|
opened = false
|
@@ -181,7 +197,7 @@ class Sekrets
|
|
181
197
|
open(tmp, 'wb+')
|
182
198
|
end
|
183
199
|
|
184
|
-
close =
|
200
|
+
close =
|
185
201
|
proc do
|
186
202
|
io.close if opened
|
187
203
|
atomic_move.call
|
@@ -214,7 +230,7 @@ class Sekrets
|
|
214
230
|
open(arg, 'rb+')
|
215
231
|
end
|
216
232
|
|
217
|
-
close =
|
233
|
+
close =
|
218
234
|
proc do
|
219
235
|
io.close if opened
|
220
236
|
end
|
@@ -254,14 +270,14 @@ class Sekrets
|
|
254
270
|
unindent(
|
255
271
|
<<-'_v_'
|
256
272
|
#! /usr/bin/env ruby
|
257
|
-
|
273
|
+
|
258
274
|
require 'pathname'
|
259
275
|
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
260
276
|
Pathname.new(__FILE__).realpath)
|
261
|
-
|
277
|
+
|
262
278
|
require 'rubygems'
|
263
279
|
require 'bundler/setup'
|
264
|
-
|
280
|
+
|
265
281
|
dirname = File.dirname(__FILE__)
|
266
282
|
|
267
283
|
root = File.dirname(dirname)
|
@@ -340,7 +356,7 @@ BEGIN {
|
|
340
356
|
require 'tmpdir'
|
341
357
|
|
342
358
|
class Sekrets < ::String
|
343
|
-
Version = '1.
|
359
|
+
Version = '1.11.0' unless defined?(Version)
|
344
360
|
|
345
361
|
class << Sekrets
|
346
362
|
def version
|
@@ -493,7 +509,7 @@ BEGIN {
|
|
493
509
|
warn "missing \#{ key }!"
|
494
510
|
end
|
495
511
|
end
|
496
|
-
|
512
|
+
|
497
513
|
__
|
498
514
|
fd.puts(code)
|
499
515
|
end
|
data/sekrets.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification::new do |spec|
|
7
7
|
spec.name = "sekrets"
|
8
|
-
spec.version = "1.
|
8
|
+
spec.version = "1.11.0"
|
9
9
|
spec.platform = Gem::Platform::RUBY
|
10
10
|
spec.summary = "securely manage encrypted files and settings"
|
11
11
|
spec.description = "sekrets is a command line tool and library used to securely manage encrypted files and settings in your rails' applications and git repositories."
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sekrets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ara T. Howard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
121
|
version: '0'
|
122
122
|
requirements: []
|
123
123
|
rubyforge_project: codeforpeople
|
124
|
-
rubygems_version: 2.6.
|
124
|
+
rubygems_version: 2.6.14
|
125
125
|
signing_key:
|
126
126
|
specification_version: 4
|
127
127
|
summary: securely manage encrypted files and settings
|