cryptoform 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0dd3d188f2a8b12f155a5eeb733f63bbef247161aa0d2baf33801bdd5e814bc1
4
- data.tar.gz: c2d99e642a3f8a5e30e4d38665d23c9f16625466e6891f362f6d9f6fef1b6b3b
3
+ metadata.gz: f0f9f5718fd04bc8d3b41709ab275e3c3149c687a05620d08befcfe6ab142465
4
+ data.tar.gz: e1007775f8a6ac33000f526f99f9704339e715c133b663a0c29ba00d625acfa3
5
5
  SHA512:
6
- metadata.gz: d04ed3018bffb1ad526736f2314f349b76fafe6cfc539217d6afb920dc7c1e2070bfab35a23c111c37578206ec318569549f72ed867cb4b56ee40863135eb413
7
- data.tar.gz: dd201f144278c47154265a017ee1409c19fc77bf2b62ad59f1880275f387a1a9181b0729fec3019e46a002c331244c6c44d8ff6b6ee7b576a1f2b5ee015e87ee
6
+ metadata.gz: 24159b9944f41adae6d9a040531d6470dd5bac1a3de7d08e7d736ece145c7e4f827f3cb205bcc99179005b4cbf04ff21ab6556ee89ad043b5b99946ab5924853
7
+ data.tar.gz: 5bb71e41df20928ec480e2eb0c497646e7b43b7087a083900e0f2ddef3926237cc6f95aea6d4f9d04bd0b436309e7b6fe712423c8f1cb67817edbd10c513f8d1
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 3.1
2
+ TargetRubyVersion: 3.2
3
3
  NewCops: enable
4
4
  SuggestExtensions: true
5
5
 
@@ -14,6 +14,11 @@ require:
14
14
  - rubocop-performance
15
15
  - rubocop-rspec
16
16
  - rubocop-rake
17
+ - rubocop-disable_syntax
18
+
19
+ Style/DisableSyntax:
20
+ DisableSyntax:
21
+ - endless_methods
17
22
 
18
23
  Layout/LineLength:
19
24
  Max: 120
data/.tool-versions CHANGED
@@ -1,2 +1,2 @@
1
- ruby 3.1.6
1
+ ruby 3.2.4
2
2
  terraform 1.9.2
data/Gemfile CHANGED
@@ -8,9 +8,11 @@ gemspec
8
8
  gem "overcommit"
9
9
  gem "rake"
10
10
  gem "rspec"
11
+ gem "simplecov"
11
12
  gem "solargraph"
12
13
 
13
14
  gem "rubocop"
14
15
  gem "rubocop-performance"
15
16
  gem "rubocop-rake"
16
17
  gem "rubocop-rspec"
18
+ gem 'rubocop-disable_syntax'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cryptoform (0.1.0)
4
+ cryptoform (0.2.0)
5
5
  async-http (~> 0.69)
6
6
  base64 (~> 0.2)
7
7
  lockbox (~> 1.3)
@@ -35,6 +35,7 @@ GEM
35
35
  fiber-local (~> 1.1)
36
36
  json
37
37
  diff-lcs (1.5.1)
38
+ docile (1.4.0)
38
39
  e2mmap (0.1.0)
39
40
  fiber-annotation (0.2.0)
40
41
  fiber-local (1.1.0)
@@ -63,7 +64,7 @@ GEM
63
64
  iniparse (~> 1.4)
64
65
  rexml (~> 3.2)
65
66
  parallel (1.25.1)
66
- parser (3.3.3.0)
67
+ parser (3.3.4.0)
67
68
  ast (~> 2.4.1)
68
69
  racc
69
70
  protocol-hpack (1.4.3)
@@ -95,27 +96,35 @@ GEM
95
96
  diff-lcs (>= 1.2.0, < 2.0)
96
97
  rspec-support (~> 3.13.0)
97
98
  rspec-support (3.13.1)
98
- rubocop (1.64.1)
99
+ rubocop (1.65.0)
99
100
  json (~> 2.3)
100
101
  language_server-protocol (>= 3.17.0)
101
102
  parallel (~> 1.10)
102
103
  parser (>= 3.3.0.2)
103
104
  rainbow (>= 2.2.2, < 4.0)
104
- regexp_parser (>= 1.8, < 3.0)
105
+ regexp_parser (>= 2.4, < 3.0)
105
106
  rexml (>= 3.2.5, < 4.0)
106
107
  rubocop-ast (>= 1.31.1, < 2.0)
107
108
  ruby-progressbar (~> 1.7)
108
109
  unicode-display_width (>= 2.4.0, < 3.0)
109
110
  rubocop-ast (1.31.3)
110
111
  parser (>= 3.3.1.0)
112
+ rubocop-disable_syntax (0.1.1)
113
+ rubocop (>= 1.50)
111
114
  rubocop-performance (1.21.1)
112
115
  rubocop (>= 1.48.1, < 2.0)
113
116
  rubocop-ast (>= 1.31.1, < 2.0)
114
117
  rubocop-rake (0.6.0)
115
118
  rubocop (~> 1.0)
116
- rubocop-rspec (3.0.2)
119
+ rubocop-rspec (3.0.3)
117
120
  rubocop (~> 1.61)
118
121
  ruby-progressbar (1.13.0)
122
+ simplecov (0.22.0)
123
+ docile (~> 1.1)
124
+ simplecov-html (~> 0.11)
125
+ simplecov_json_formatter (~> 0.1)
126
+ simplecov-html (0.12.3)
127
+ simplecov_json_formatter (0.1.4)
119
128
  solargraph (0.50.0)
120
129
  backport (~> 1.2)
121
130
  benchmark
@@ -150,9 +159,11 @@ DEPENDENCIES
150
159
  rake
151
160
  rspec
152
161
  rubocop
162
+ rubocop-disable_syntax
153
163
  rubocop-performance
154
164
  rubocop-rake
155
165
  rubocop-rspec
166
+ simplecov
156
167
  solargraph
157
168
 
158
169
  BUNDLED WITH
data/README.md CHANGED
@@ -15,7 +15,7 @@ bother configuring an external state store.
15
15
 
16
16
  ## Installation
17
17
 
18
- 1. Install one of supported ruby versions: 3.1 or newer
18
+ 1. Install one of supported ruby versions: 3.2 or newer
19
19
  2. In your terraform project, create 2 files:
20
20
 
21
21
  *Gemfile*:
@@ -8,7 +8,9 @@ class Cryptoform::Config::Builder
8
8
  @states = {}
9
9
  end
10
10
 
11
- def port(port) = @port = port
11
+ def port(port)
12
+ @port = port
13
+ end
12
14
 
13
15
  def state(name, &)
14
16
  name = name.to_sym
@@ -24,5 +26,7 @@ class Cryptoform::Config::Builder
24
26
  raise Cryptoform::ConfigValidationError, "port must be an integer" if @key.is_a?(Numeric)
25
27
  end
26
28
 
27
- def config = Config.new(@port, @states.transform_values(&:config))
29
+ def config
30
+ Config.new(@port, @states.transform_values(&:config))
31
+ end
28
32
  end
@@ -31,7 +31,9 @@ class Cryptoform::Config::StateConfigBuilder
31
31
  @encryption_backend = ENCRYPTION_BACKENDS[name].new(@name, **params)
32
32
  end
33
33
 
34
- def config = Config.new(@storage_backend, @encryption_backend)
34
+ def config
35
+ Config.new(@storage_backend, @encryption_backend)
36
+ end
35
37
 
36
38
  def validate!
37
39
  if @storage_backend.nil?
@@ -6,6 +6,11 @@ class Cryptoform::EncryptionBackends::Backend
6
6
  @params = params
7
7
  end
8
8
 
9
- def decrypt(ciphertext) = raise NotImplementedError
10
- def encrypt(json) = raise NotImplementedError
9
+ def decrypt(ciphertext)
10
+ raise NotImplementedError
11
+ end
12
+
13
+ def encrypt(json)
14
+ raise NotImplementedError
15
+ end
11
16
  end
@@ -1,9 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Cryptoform::EncryptionBackends::Lockbox < Cryptoform::EncryptionBackends::Backend
4
- def encrypt(json) = lockbox.encrypt(json.to_json)
4
+ def encrypt(json)
5
+ lockbox.encrypt(json.to_json)
6
+ end
5
7
 
6
- def decrypt(ciphertext) = JSON.parse(lockbox.decrypt(ciphertext))
8
+ def decrypt(ciphertext)
9
+ JSON.parse(lockbox.decrypt(ciphertext))
10
+ end
7
11
 
8
- def lockbox = ::Lockbox.new(key: @params[:key].call, encode: true)
12
+ def lockbox
13
+ ::Lockbox.new(key: @params[:key].call, encode: true)
14
+ end
9
15
  end
@@ -40,9 +40,13 @@ class Cryptoform::Server
40
40
  ::Protocol::HTTP::Response[201, {}, []]
41
41
  end
42
42
 
43
- def logger = @logger ||= Logger.new($stdout)
43
+ def logger
44
+ @logger ||= Logger.new($stdout)
45
+ end
44
46
 
45
- def endpoint = @endpoint ||= Async::HTTP::Endpoint.parse("http://localhost:#{@config.port}")
47
+ def endpoint
48
+ @endpoint ||= Async::HTTP::Endpoint.parse("http://localhost:#{@config.port}")
49
+ end
46
50
 
47
51
  def log_request(request)
48
52
  yield.tap do |response|
@@ -6,6 +6,11 @@ class Cryptoform::StorageBackends::Backend
6
6
  @params = params
7
7
  end
8
8
 
9
- def read = raise NotImplementedError
10
- def write(data) = raise NotImplementedError
9
+ def read
10
+ raise NotImplementedError
11
+ end
12
+
13
+ def write(data)
14
+ raise NotImplementedError
15
+ end
11
16
  end
@@ -7,9 +7,13 @@ class Cryptoform::StorageBackends::File < Cryptoform::StorageBackends::Backend
7
7
  raise Cryptoform::StateMissingError, "state '#{@state_name}' is configured but missing"
8
8
  end
9
9
 
10
- def write(data) = ::File.write(filename, data)
10
+ def write(data)
11
+ ::File.write(filename, data)
12
+ end
11
13
 
12
14
  private
13
15
 
14
- def filename = @filename ||= @params[:name] || "#{@state_name}.tfstate.enc"
16
+ def filename
17
+ @filename ||= @params[:name] || "#{@state_name}.tfstate.enc"
18
+ end
15
19
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cryptoform
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptoform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gleb Sinyavskiy
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
11
  date: 2024-07-13 00:00:00.000000000 Z
@@ -105,9 +105,9 @@ licenses:
105
105
  metadata:
106
106
  homepage_uri: https://github.com/zhulik/cryptoform
107
107
  source_code_uri: https://github.com/zhulik/cryptoform
108
- changelog_uri: https://github.com/zhulik/cryptoform
108
+ changelog_uri: https://github.com/zhulik/cryptoform/releases
109
109
  rubygems_mfa_required: 'true'
110
- post_install_message:
110
+ post_install_message:
111
111
  rdoc_options: []
112
112
  require_paths:
113
113
  - lib
@@ -115,15 +115,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ">="
117
117
  - !ruby/object:Gem::Version
118
- version: 3.1.0
118
+ version: 3.2.0
119
119
  required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  requirements: []
125
- rubygems_version: 3.3.27
126
- signing_key:
125
+ rubygems_version: 3.5.11
126
+ signing_key:
127
127
  specification_version: 4
128
128
  summary: Save your encypted terraform state in git.
129
129
  test_files: []