occson 4.1.1 → 4.2.0
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/CHANGELOG.md +13 -0
- data/lib/occson/commands/copy.rb +3 -3
- data/lib/occson/commands/run.rb +2 -2
- data/lib/occson/decrypter.rb +3 -3
- data/lib/occson/downloader.rb +2 -1
- data/lib/occson/encrypter.rb +2 -2
- data/lib/occson/uploader.rb +1 -1
- data/lib/occson/version.rb +1 -1
- metadata +10 -149
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1a5f12b06411ae8b292c72c78721b124e01ddcba01177b2e9464fc1b1af6c34
|
4
|
+
data.tar.gz: f132f4c4c1683270e1e421f059978df5f96ad43bfe0f6db15b2650c62418b42e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 324caaf48cde52c3e46f9edb5cf80ea71f7ab0a240eb78c5647b100cd62457cfd70e1042e4c8ceea76fbde2def53d88d4b41bf30d735b83e523df4ec4d006c5b
|
7
|
+
data.tar.gz: 3590b6c437d9e918c9029963df9e2d7628eb6bd216b8f2719f1e61759b0f0934a9b055106f1cebeac0fa14a70af95a9611246f4e43bd15f725401b7941c8fa01
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
## 4.2.0 2023-08-13
|
2
|
+
|
3
|
+
### Upgraded
|
4
|
+
|
5
|
+
- rubocop
|
6
|
+
- yard
|
7
|
+
|
8
|
+
### Dropped support for ruby 2.6
|
9
|
+
|
10
|
+
### Resolved rubocop issues
|
11
|
+
|
12
|
+
[Compare 4.1.1...4.2.0](https://github.com/occson/occson.rb/compare/4.1.1...4.2.0)
|
13
|
+
|
1
14
|
## 4.1.1 2023-02-09
|
2
15
|
|
3
16
|
### Upgraded
|
data/lib/occson/commands/copy.rb
CHANGED
@@ -40,18 +40,18 @@ module Occson
|
|
40
40
|
private
|
41
41
|
|
42
42
|
def download?
|
43
|
-
@source.match?(%r{\A(occson|https?)
|
43
|
+
@source.match?(%r{\A(occson|https?)://})
|
44
44
|
end
|
45
45
|
|
46
46
|
def download
|
47
47
|
content = Document.new(@source, @access_token, @passphrase).download
|
48
48
|
return unless content
|
49
49
|
|
50
|
-
(@destination.eql?('-') ?
|
50
|
+
(@destination.eql?('-') ? $stdout : File.new(@destination, 'w')).print content
|
51
51
|
end
|
52
52
|
|
53
53
|
def upload
|
54
|
-
content = @source.eql?('-') ?
|
54
|
+
content = @source.eql?('-') ? $stdin.read : File.read(@source)
|
55
55
|
Document.new(@destination, @access_token, @passphrase).upload(content, force: @force)
|
56
56
|
end
|
57
57
|
end
|
data/lib/occson/commands/run.rb
CHANGED
@@ -18,10 +18,10 @@ module Occson
|
|
18
18
|
parsed_content = content.split("\n").map do |line|
|
19
19
|
next if line.start_with?('#')
|
20
20
|
|
21
|
-
line.split(
|
21
|
+
line.split('=', 2) # @TODO handle wrapped values
|
22
22
|
end.compact
|
23
23
|
|
24
|
-
envs =
|
24
|
+
envs = parsed_content.to_h
|
25
25
|
|
26
26
|
system(envs, @command, *@arguments)
|
27
27
|
end
|
data/lib/occson/decrypter.rb
CHANGED
@@ -11,7 +11,7 @@ module Occson
|
|
11
11
|
#
|
12
12
|
# @example
|
13
13
|
# Occson::Decrypter.new('the content passphrase', content)
|
14
|
-
#
|
14
|
+
#
|
15
15
|
# @param passphrase [String] Passphrase for content decryption
|
16
16
|
# @param content [String] Encrypted document content
|
17
17
|
def initialize(passphrase, content)
|
@@ -31,7 +31,7 @@ module Occson
|
|
31
31
|
private
|
32
32
|
|
33
33
|
def decryptor
|
34
|
-
@decryptor ||= OpenSSL::Cipher
|
34
|
+
@decryptor ||= OpenSSL::Cipher.new('aes-256-cbc').decrypt
|
35
35
|
end
|
36
36
|
|
37
37
|
def openssl_salted_ciphertext
|
@@ -43,7 +43,7 @@ module Occson
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def encrypted
|
46
|
-
openssl_salted_ciphertext[16
|
46
|
+
openssl_salted_ciphertext[16..]
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
data/lib/occson/downloader.rb
CHANGED
@@ -30,6 +30,7 @@ module Occson
|
|
30
30
|
response = http.request(request)
|
31
31
|
body = response.body
|
32
32
|
return unless response.code.eql? '200'
|
33
|
+
|
33
34
|
json = JSON.parse body
|
34
35
|
|
35
36
|
Decrypter.new(@passphrase, json['encrypted_content']).call
|
@@ -45,7 +46,7 @@ module Occson
|
|
45
46
|
|
46
47
|
def request
|
47
48
|
Net::HTTP::Get.new(@uri.path, headers).tap do |request|
|
48
|
-
request[
|
49
|
+
request['User-Agent'] = format('occson/%s', Occson::VERSION)
|
49
50
|
end
|
50
51
|
end
|
51
52
|
|
data/lib/occson/encrypter.rb
CHANGED
@@ -32,14 +32,14 @@ module Occson
|
|
32
32
|
encrypted = encryptor.update(@content)
|
33
33
|
encrypted << encryptor.final
|
34
34
|
|
35
|
-
openssl_salted_ciphertext = 'Salted__'
|
35
|
+
openssl_salted_ciphertext = format('Salted__%<salt>s%<content>s', salt: @salt, content: encrypted)
|
36
36
|
Base64.strict_encode64(openssl_salted_ciphertext)
|
37
37
|
end
|
38
38
|
|
39
39
|
private
|
40
40
|
|
41
41
|
def encryptor
|
42
|
-
@encryptor ||= OpenSSL::Cipher
|
42
|
+
@encryptor ||= OpenSSL::Cipher.new('aes-256-cbc').encrypt
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
data/lib/occson/uploader.rb
CHANGED
data/lib/occson/version.rb
CHANGED
metadata
CHANGED
@@ -1,156 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: occson
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- tkowalewski
|
8
8
|
- paweljw
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-
|
13
|
-
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: inch
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - "~>"
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: 0.8.0
|
21
|
-
type: :development
|
22
|
-
prerelease: false
|
23
|
-
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
requirements:
|
25
|
-
- - "~>"
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: 0.8.0
|
28
|
-
- !ruby/object:Gem::Dependency
|
29
|
-
name: pry
|
30
|
-
requirement: !ruby/object:Gem::Requirement
|
31
|
-
requirements:
|
32
|
-
- - "~>"
|
33
|
-
- !ruby/object:Gem::Version
|
34
|
-
version: 0.14.1
|
35
|
-
type: :development
|
36
|
-
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - "~>"
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: 0.14.1
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: rake
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - "~>"
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: 13.0.1
|
49
|
-
type: :development
|
50
|
-
prerelease: false
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - "~>"
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: 13.0.1
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: reek
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - "~>"
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 6.1.3
|
63
|
-
type: :development
|
64
|
-
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - "~>"
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: 6.1.3
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: rspec
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - "~>"
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 3.12.0
|
77
|
-
type: :development
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - "~>"
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: 3.12.0
|
84
|
-
- !ruby/object:Gem::Dependency
|
85
|
-
name: rubocop
|
86
|
-
requirement: !ruby/object:Gem::Requirement
|
87
|
-
requirements:
|
88
|
-
- - "~>"
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version: 1.45.1
|
91
|
-
type: :development
|
92
|
-
prerelease: false
|
93
|
-
version_requirements: !ruby/object:Gem::Requirement
|
94
|
-
requirements:
|
95
|
-
- - "~>"
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
version: 1.45.1
|
98
|
-
- !ruby/object:Gem::Dependency
|
99
|
-
name: simplecov
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - "~>"
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: 0.22.0
|
105
|
-
type: :development
|
106
|
-
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
requirements:
|
109
|
-
- - "~>"
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: 0.22.0
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: webmock
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
-
requirements:
|
116
|
-
- - "~>"
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 3.18.1
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - "~>"
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: 3.18.1
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: yard
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
requirements:
|
130
|
-
- - ">="
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: 0.9.11
|
133
|
-
type: :development
|
134
|
-
prerelease: false
|
135
|
-
version_requirements: !ruby/object:Gem::Requirement
|
136
|
-
requirements:
|
137
|
-
- - ">="
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: 0.9.11
|
140
|
-
- !ruby/object:Gem::Dependency
|
141
|
-
name: rexml
|
142
|
-
requirement: !ruby/object:Gem::Requirement
|
143
|
-
requirements:
|
144
|
-
- - "~>"
|
145
|
-
- !ruby/object:Gem::Version
|
146
|
-
version: 3.2.5
|
147
|
-
type: :development
|
148
|
-
prerelease: false
|
149
|
-
version_requirements: !ruby/object:Gem::Requirement
|
150
|
-
requirements:
|
151
|
-
- - "~>"
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
version: 3.2.5
|
12
|
+
date: 2023-08-13 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
154
14
|
description: ''
|
155
15
|
email:
|
156
16
|
- me@tkowalewski.pl
|
@@ -177,8 +37,9 @@ files:
|
|
177
37
|
homepage: https://github.com/occson/occson.rb
|
178
38
|
licenses:
|
179
39
|
- MIT
|
180
|
-
metadata:
|
181
|
-
|
40
|
+
metadata:
|
41
|
+
rubygems_mfa_required: 'true'
|
42
|
+
post_install_message:
|
182
43
|
rdoc_options: []
|
183
44
|
require_paths:
|
184
45
|
- lib
|
@@ -186,15 +47,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
186
47
|
requirements:
|
187
48
|
- - ">="
|
188
49
|
- !ruby/object:Gem::Version
|
189
|
-
version:
|
50
|
+
version: 2.7.0
|
190
51
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
52
|
requirements:
|
192
53
|
- - ">="
|
193
54
|
- !ruby/object:Gem::Version
|
194
55
|
version: '0'
|
195
56
|
requirements: []
|
196
|
-
rubygems_version: 3.
|
197
|
-
signing_key:
|
57
|
+
rubygems_version: 3.1.2
|
58
|
+
signing_key:
|
198
59
|
specification_version: 4
|
199
60
|
summary: Store, manage and deploy configuration securely with Occson.
|
200
61
|
test_files: []
|