dotenv-gpg 0.3

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.
@@ -0,0 +1,28 @@
1
+ This directory is managed by `dotgpg`.
2
+
3
+ User management
4
+ ---------------
5
+
6
+ To get your key, run:
7
+
8
+ dotgpg key
9
+
10
+ Then get someone to import for you with:
11
+
12
+ dotgpg add path/to/public.key
13
+
14
+ Usage
15
+ -----
16
+
17
+ To see the contents of a file:
18
+
19
+ dotgpg cat development.env
20
+
21
+ To edit a file:
22
+
23
+ dotgpg edit production.env
24
+
25
+ Further help
26
+ ------------
27
+
28
+ Try `dotgpg --help` or https://github.com/ConradIrwin/dotgpg.
@@ -0,0 +1,47 @@
1
+ -----BEGIN PGP MESSAGE-----
2
+ Version: GnuPG v1.4.15 (Darwin)
3
+
4
+ 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
46
+ =J86h
47
+ -----END PGP MESSAGE-----
@@ -0,0 +1,47 @@
1
+ -----BEGIN PGP MESSAGE-----
2
+ Version: GnuPG v1.4.15 (Darwin)
3
+
4
+ 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
46
+ =6xFr
47
+ -----END PGP MESSAGE-----
@@ -0,0 +1,31 @@
1
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
2
+ Version: GnuPG v1.4.14 (Darwin)
3
+
4
+ mQENBFK0334BCACvh5hmy1NWf75IDiHuKaMdf6L7do4KnzwgfNahwzyd4yTcKlka
5
+ 7rVXPS7zYuFuOQ7PdVGf3zUqxJ9wNfcFjhhVKfbf3Mx4j41sDjMbfYN5XSUIR3A2
6
+ 8bjyA11rbgsgldveuYR7eTf5oUTz3WB3A7GaM+H3K2m101Ipk11FuH3SpQ8rmr0F
7
+ uL14K7tX+7qSne0LrIYgv7f8eOEL75VPRPgMNao7w+k82HwwRnRU43g6kWfRqEnW
8
+ oLfE3n+j4hzWkDT1e4Hok37htgkQnOS+mbi68vZhj/oCYXLg9qT/ObJRxLlQeMaA
9
+ UqmRDAmImO+UxUfbpQC4H6ppy6XGXwOmEfmRABEBAAG0NkZha2UgU2VjcmV0IChG
10
+ b3IgY3JlYXRpb24gdGVzdHMpIDxzZWNyZXQxQGV4YW1wbGUuY29tPokBOAQTAQIA
11
+ IgUCUrTffgIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ2tY7SRB+gOXy
12
+ pggAnDJCtaK8zSmB4QwQXbvD04OtLUnWKLZCYpfRbfEr36m+zJ96BlpsRMYXox82
13
+ hEIK9mxrCmoxepunYo7LwdWtODWLsZU5c+ntmZxl++aoC8lJvjNWdmeDgCXAalSz
14
+ u3bKL/ZrohjNce3A4tDQi2m5eUY3+ioe4mh0je28jJyyKrTXOpI045NkaDNzdpki
15
+ ioCE3eqVWq4Mf2Q2G9+dy3JeZq5o/2ydHMF413ouMg3hOVz/pMgDWLYJDd5igLt7
16
+ cXPjzMdzvW3R5WGrp/c1oC/JC6tclJSFFTkzCc23UdpNlS8CDPxKaP2MphWsjLkP
17
+ mMlN3kUZIbYxJ5nbv7uW+W80YbkBDQRStN9+AQgA2iRr/hEmGhxqQoagLjLmN4WP
18
+ QdE0mKKgV+Ln1DGDXMUJbNIgFO0IQP4POrtkX40xNjU4YXBou/cO5CyO19NkHFqE
19
+ KN9MaW53g4oz97hU9t+Cd3fck45Banx5wERnSgTM49e0BRfUptxHY1BX4UrwJp2w
20
+ iXc829OpEauAaLoo5IAh0ttbSZD17SWP1UHbuPNb+CGz5Pt05Xj3uPvnMhCZTMIw
21
+ NKYKbPfeplIwmRcpiqfiCDLx7azP+thuUO9PlXcu5R3U+TAqUskL8WxX/+gNfAqG
22
+ QSnB6UFPgjcpcYtcmSPEhMPBrS3ryntUwKrqYYMqSWgBKlJsjWYdRot0JjO6jwAR
23
+ AQABiQEfBBgBAgAJBQJStN9+AhsMAAoJENrWO0kQfoDl2JkH/iR6giTN1eDj7uEH
24
+ O2cnX0rnw82Pwr8tg+cx9jTqPRZBcVDMQbV7TzN/VSu693uE81omZVHROMHfQjyQ
25
+ uCqzhX9SsKmIsmmIeybiAGFQII4OCyMB5/0+EMldFitHWRjmLoE9soBbdBYIb2eH
26
+ Nc6LHO8HokSQkDc3Tf0MIaCvuzorom6JRY61t8t69CWG4byNybpBoNCh2gQ2AFqL
27
+ VyOAUcr9S98qLOmrUAhmI8bnADVQjiQ3tgaHdiTtDQRW7LZilE7n0r/QGr6s1Cqd
28
+ HE2ClBkTOFA0Us2YMUNjp9G1FCAzGp6xFkq7X3OzEDpC4c0X1CciWdWCYakvFX46
29
+ tcGc6Xw=
30
+ =Kmg7
31
+ -----END PGP PUBLIC KEY BLOCK-----
@@ -0,0 +1,19 @@
1
+ require "bundler"
2
+ Bundler.setup
3
+
4
+ require "dotgpg"
5
+
6
+ require "minitest/spec"
7
+ require "./spec/helper/assertions"
8
+
9
+ # Make a totally isolated directory for running tests.
10
+ # This is necessary because GPG maintains state in GNUPGHOME,
11
+ # and we don't want running the tests to spoil developer's real key stores.
12
+ $fixture = Pathname.new(Dir::mktmpdir).realpath
13
+ FileUtils.cp_r "spec/fixture/", $fixture
14
+ $fixture += "fixture"
15
+ $basic = $fixture + "basic"
16
+ ENV["GNUPGHOME"] = $fixture.join("gnupghome").to_s
17
+ at_exit{ FileUtils.rm_rf $fixture }
18
+
19
+ require "minitest/autorun"
@@ -0,0 +1,54 @@
1
+ module Minitest::Assertions
2
+
3
+ def hex_gpg_bytes(data)
4
+ require 'base64'
5
+ raw = Base64.decode64(data.split("\n\n").last.split("\n=").first)
6
+ raw.bytes.map{ |x| x.to_s(16).rjust(2, "0") }.join.upcase
7
+ end
8
+
9
+ def assert_contains_keyid(keyid, data)
10
+ # 03 is the version tag of the Public Key Encrypted Session Key packet emitted
11
+ # by the current version of GPGME.
12
+ # 01 identifies the key as an RSA key.
13
+ assert_match Regexp.new("03#{keyid}01"), hex_gpg_bytes(data)
14
+ end
15
+
16
+ def refute_contains_keyid(keyid, data)
17
+ refute_match Regexp.new("03#{keyid}01"), hex_gpg_bytes(data)
18
+ end
19
+
20
+ def assert_warns(expected, &block)
21
+ actual = nil
22
+ Dotgpg.singleton_class.class_eval do
23
+
24
+ alias_method :warn_without_asserts, :warn
25
+ define_method :warn do |context, e|
26
+ actual = "#{context}: #{e.message.gsub(/\W*#{context}/, '')}"
27
+ end
28
+ end
29
+ yield
30
+ assert_equal expected, actual
31
+ ensure
32
+ Dotgpg.singleton_class.class_eval do
33
+ alias_method :warn, :warn_without_asserts
34
+ end
35
+ end
36
+
37
+ def assert_outputs(expected, &block)
38
+ old_stdout = $stdout
39
+ $stdout = StringIO.new
40
+ yield
41
+ $stdout.rewind
42
+ assert_equal expected, $stdout.read
43
+ ensure
44
+ $stdout = old_stdout
45
+ end
46
+
47
+ def assert_fails(expected, &block)
48
+ yield
49
+ rescue Dotgpg::Failure => e
50
+ assert_match expected, e.message
51
+ else
52
+ assert false, "did not fail"
53
+ end
54
+ end
metadata ADDED
@@ -0,0 +1,136 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dotenv-gpg
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.3'
5
+ platform: ruby
6
+ authors:
7
+ - Conrad Irwin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: gpgme
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry-stack_explorer
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Easy management of gpg-encrypted backup files
70
+ email:
71
+ - conrad@bugsnag.com
72
+ executables:
73
+ - dotgpg
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - .gitignore
78
+ - Gemfile
79
+ - Gemfile.lock
80
+ - README.md
81
+ - Rakefile
82
+ - bin/dotgpg
83
+ - dotenv-gpg.gemspec
84
+ - lib/dotgpg.rb
85
+ - lib/dotgpg/cli.rb
86
+ - lib/dotgpg/dir.rb
87
+ - lib/dotgpg/key.rb
88
+ - lib/dotgpg/template/README.md
89
+ - spec/cli_spec.rb
90
+ - spec/dir_spec.rb
91
+ - spec/fixture/add1.key
92
+ - spec/fixture/add2.key
93
+ - spec/fixture/add3.key
94
+ - spec/fixture/basic/.gpg/removed1@example.com
95
+ - spec/fixture/basic/.gpg/removed2@example.com
96
+ - spec/fixture/basic/.gpg/removed3@example.com
97
+ - spec/fixture/basic/.gpg/test2@example.com
98
+ - spec/fixture/basic/.gpg/test3@example.com
99
+ - spec/fixture/basic/.gpg/test@example.com
100
+ - spec/fixture/basic/README.md
101
+ - spec/fixture/basic/a
102
+ - spec/fixture/basic/b/c
103
+ - spec/fixture/gnupghome/pubring.gpg
104
+ - spec/fixture/gnupghome/pubring.gpg~
105
+ - spec/fixture/gnupghome/random_seed
106
+ - spec/fixture/gnupghome/secring.gpg
107
+ - spec/fixture/gnupghome/trustdb.gpg
108
+ - spec/fixture/secret1.key
109
+ - spec/helper.rb
110
+ - spec/helper/assertions.rb
111
+ homepage: http://github.com/ConradIrwin/dotenv-gpg
112
+ licenses:
113
+ - MIT
114
+ metadata: {}
115
+ post_install_message:
116
+ rdoc_options: []
117
+ require_paths:
118
+ - lib
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - '>='
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ required_rubygems_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ requirements: []
130
+ rubyforge_project:
131
+ rubygems_version: 2.0.3
132
+ signing_key:
133
+ specification_version: 4
134
+ summary: gpg-encrypted backup for your dotenv files
135
+ test_files: []
136
+ has_rdoc: