ruby-terraform 1.8.0.pre.1 → 1.8.0.pre.3

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: '08ea29d66e7721576b294a56158546be476cb4c454d1a2ac288b0943d82eedbf'
4
- data.tar.gz: 63e882dc77bf2c90e15aeed67295842cc3bc78b8e2b8321803cbdce9198f7ea5
3
+ metadata.gz: 87c8f1a3f1598f15a681a924b6c5dbb92af6de2ffb21fbadc3e498861b3303cb
4
+ data.tar.gz: 6729b4c09c878f4388cae7ac3e7e1c4d356ea33cb3b3f91aef8e72f1fd30bdf0
5
5
  SHA512:
6
- metadata.gz: 59b72449e1e0a6884e952768f257eafbbd948e30f05bb1eb0a993cf617dd044eb2bd427e29ea2227577c0a99cec2d3e0b71cb38f4593ba55fdf0448e4b9099ce
7
- data.tar.gz: 756118b8e10fa89e38b20d532f0d4ce2c5eee7c244cff929ae7d6d69bcae5abff0991ef16167e00a47443e2c36057740e3249e633467ed16e90379d5cfdc7948
6
+ metadata.gz: b022bab94d17e37f46c71252e91065d8b8c10bbd1956d86b5b01a620f953b292e7492d2c42146cfb52a04294e1c06f6cc253baa4b84159f864c18b3cec203e56
7
+ data.tar.gz: a7c3b3024a1fc8643ee921f4707a28df6b1f4445c62110f274d53d7f43f54f05756caf5d4efe255dba4cf4146df047c8f0f481ce44ceb1732eef9a8200ef72dc
data/CODE_OF_CONDUCT.md CHANGED
@@ -5,9 +5,9 @@
5
5
  In the interest of fostering an open and welcoming environment, we as
6
6
  contributors and maintainers pledge to making participation in our project and
7
7
  our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, gender identity and expression, level of experience,
9
- nationality, personal appearance, race, religion, or sexual identity and
10
- orientation.
8
+ size, disability, ethnicity, gender identity and expression, level of
9
+ experience, nationality, personal appearance, race, religion, or sexual identity
10
+ and orientation.
11
11
 
12
12
  ## Our Standards
13
13
 
@@ -23,7 +23,7 @@ include:
23
23
  Examples of unacceptable behavior by participants include:
24
24
 
25
25
  * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
26
+ advances
27
27
  * Trolling, insulting/derogatory comments, and personal or political attacks
28
28
  * Public or private harassment
29
29
  * Publishing others' private information, such as a physical or electronic
@@ -37,11 +37,11 @@ Project maintainers are responsible for clarifying the standards of acceptable
37
37
  behavior and are expected to take appropriate and fair corrective action in
38
38
  response to any instances of unacceptable behavior.
39
39
 
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
40
+ Project maintainers have the right and responsibility to remove, edit, or reject
41
+ comments, commits, code, wiki edits, issues, and other contributions that are
42
+ not aligned to this Code of Conduct, or to ban temporarily or permanently any
43
+ contributor for other behaviors that they deem inappropriate, threatening,
44
+ offensive, or harmful.
45
45
 
46
46
  ## Scope
47
47
 
@@ -58,8 +58,9 @@ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
58
  reported by contacting the project team at maintainers@infrablocks.io. All
59
59
  complaints will be reviewed and investigated and will result in a response that
60
60
  is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
61
+ obligated to maintain confidentiality with regard to the reporter of an
62
+ incident. Further details of specific enforcement policies may be posted
63
+ separately.
63
64
 
64
65
  Project maintainers who do not follow or enforce the Code of Conduct in good
65
66
  faith may face temporary or permanent repercussions as determined by other
@@ -67,8 +68,9 @@ members of the project's leadership.
67
68
 
68
69
  ## Attribution
69
70
 
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at [http://contributor-covenant.org/version/1/4][version]
71
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
72
+ version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
72
73
 
73
74
  [homepage]: http://contributor-covenant.org
75
+
74
76
  [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile.lock CHANGED
@@ -1,37 +1,51 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby-terraform (1.8.0.pre.1)
4
+ ruby-terraform (1.8.0.pre.3)
5
5
  immutable-struct (~> 2.4)
6
6
  lino (~> 3.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (7.0.4)
11
+ activesupport (7.1.1)
12
+ base64
13
+ bigdecimal
12
14
  concurrent-ruby (~> 1.0, >= 1.0.2)
15
+ connection_pool (>= 2.2.5)
16
+ drb
13
17
  i18n (>= 1.6, < 2)
14
18
  minitest (>= 5.1)
19
+ mutex_m
15
20
  tzinfo (~> 2.0)
16
- addressable (2.8.1)
21
+ addressable (2.8.5)
17
22
  public_suffix (>= 2.0.2, < 6.0)
18
23
  ast (2.4.2)
24
+ base64 (0.1.1)
25
+ bigdecimal (3.1.4)
19
26
  coderay (1.1.3)
20
27
  colored2 (3.1.2)
21
- concurrent-ruby (1.1.10)
28
+ concurrent-ruby (1.2.2)
29
+ connection_pool (2.4.1)
22
30
  diff-lcs (1.5.0)
23
31
  docile (1.4.0)
24
- excon (0.95.0)
25
- faker (3.1.0)
32
+ drb (2.1.1)
33
+ ruby2_keywords
34
+ excon (0.104.0)
35
+ faker (3.2.1)
26
36
  i18n (>= 1.8.11, < 2)
27
- faraday (2.7.2)
37
+ faraday (2.7.11)
38
+ base64
28
39
  faraday-net_http (>= 2.0, < 3.1)
29
40
  ruby2_keywords (>= 0.0.4)
30
41
  faraday-net_http (3.0.2)
31
- ffi (1.15.5)
42
+ ffi (1.16.3)
32
43
  formatador (1.1.0)
33
44
  gem-release (2.2.2)
34
- guard (2.18.0)
45
+ git (1.18.0)
46
+ addressable (~> 2.8)
47
+ rchardet (~> 1.8)
48
+ guard (2.18.1)
35
49
  formatador (>= 0.2.4)
36
50
  listen (>= 2.7, < 4.0)
37
51
  lumberjack (>= 1.0.12, < 2.0)
@@ -47,44 +61,57 @@ GEM
47
61
  rspec (>= 2.99.0, < 4.0)
48
62
  hamster (3.0.0)
49
63
  concurrent-ruby (~> 1.0)
50
- i18n (1.12.0)
64
+ i18n (1.14.1)
51
65
  concurrent-ruby (~> 1.0)
52
66
  immutable-struct (2.4.1)
53
67
  json (2.6.3)
68
+ language_server-protocol (3.17.0.3)
54
69
  lino (3.1.0)
55
70
  hamster (~> 3.0)
56
71
  open4 (~> 1.3)
57
- listen (3.7.1)
72
+ listen (3.8.0)
58
73
  rb-fsevent (~> 0.10, >= 0.10.3)
59
74
  rb-inotify (~> 0.9, >= 0.9.10)
60
- lumberjack (1.2.8)
75
+ lumberjack (1.2.9)
61
76
  method_source (1.0.0)
62
- minitest (5.17.0)
77
+ minitest (5.20.0)
78
+ mutex_m (0.1.2)
63
79
  nenv (0.3.0)
64
80
  notiffany (0.1.3)
65
81
  nenv (~> 0.1)
66
82
  shellany (~> 0.0)
67
- octokit (6.0.1)
83
+ octokit (6.1.1)
68
84
  faraday (>= 1, < 3)
69
85
  sawyer (~> 0.9)
70
86
  open4 (1.3.4)
71
- parallel (1.22.1)
72
- parser (3.1.3.0)
87
+ parallel (1.23.0)
88
+ parser (3.2.2.4)
73
89
  ast (~> 2.4.1)
74
- pry (0.14.1)
90
+ racc
91
+ pry (0.14.2)
75
92
  coderay (~> 1.1)
76
93
  method_source (~> 1.0)
77
- public_suffix (5.0.1)
94
+ public_suffix (5.0.3)
95
+ racc (1.7.1)
78
96
  rainbow (3.1.1)
79
- rake (13.0.6)
97
+ rake (13.1.0)
80
98
  rake_circle_ci (0.11.0)
81
99
  colored2 (~> 3.1)
82
100
  excon (~> 0.72)
83
101
  rake_factory (~> 0.23)
84
102
  sshkey (~> 2.0)
85
- rake_factory (0.31.0)
103
+ rake_factory (0.32.0.pre.2)
86
104
  activesupport (>= 4)
87
105
  rake (~> 13.0)
106
+ rake_git (0.1.0.pre.8)
107
+ colored2 (~> 3.1)
108
+ git (~> 1.13, >= 1.13.2)
109
+ rake_factory (= 0.32.0.pre.2)
110
+ rake_git_crypt (0.1.0.pre.27)
111
+ colored2 (~> 3.1)
112
+ rake_factory (= 0.32.0.pre.2)
113
+ ruby_git_crypt (= 0.1.0.pre.2)
114
+ ruby_gpg2 (~> 0.6)
88
115
  rake_github (0.11.0)
89
116
  colored2 (~> 3.1)
90
117
  octokit (>= 4.16, < 7.0)
@@ -93,46 +120,57 @@ GEM
93
120
  rake_gpg (0.18.0)
94
121
  rake_factory (~> 0.23)
95
122
  ruby_gpg2 (~> 0.6)
96
- rake_ssh (0.8.0)
123
+ rake_ssh (0.10.0)
97
124
  colored2 (~> 3.1)
98
125
  rake_factory (~> 0.23)
99
126
  sshkey (~> 2.0)
100
127
  rb-fsevent (0.11.2)
101
128
  rb-inotify (0.10.1)
102
129
  ffi (~> 1.0)
103
- regexp_parser (2.6.1)
104
- rexml (3.2.5)
130
+ rchardet (1.8.0)
131
+ regexp_parser (2.8.2)
132
+ rexml (3.2.6)
105
133
  rspec (3.12.0)
106
134
  rspec-core (~> 3.12.0)
107
135
  rspec-expectations (~> 3.12.0)
108
136
  rspec-mocks (~> 3.12.0)
109
- rspec-core (3.12.0)
137
+ rspec-core (3.12.2)
110
138
  rspec-support (~> 3.12.0)
111
- rspec-expectations (3.12.1)
139
+ rspec-expectations (3.12.3)
112
140
  diff-lcs (>= 1.2.0, < 2.0)
113
141
  rspec-support (~> 3.12.0)
114
- rspec-mocks (3.12.1)
142
+ rspec-mocks (3.12.6)
115
143
  diff-lcs (>= 1.2.0, < 2.0)
116
144
  rspec-support (~> 3.12.0)
117
- rspec-support (3.12.0)
118
- rubocop (1.42.0)
145
+ rspec-support (3.12.1)
146
+ rubocop (1.57.2)
119
147
  json (~> 2.3)
148
+ language_server-protocol (>= 3.17.0)
120
149
  parallel (~> 1.10)
121
- parser (>= 3.1.2.1)
150
+ parser (>= 3.2.2.4)
122
151
  rainbow (>= 2.2.2, < 4.0)
123
152
  regexp_parser (>= 1.8, < 3.0)
124
153
  rexml (>= 3.2.5, < 4.0)
125
- rubocop-ast (>= 1.24.1, < 2.0)
154
+ rubocop-ast (>= 1.28.1, < 2.0)
126
155
  ruby-progressbar (~> 1.7)
127
- unicode-display_width (>= 1.4.0, < 3.0)
128
- rubocop-ast (1.24.1)
129
- parser (>= 3.1.1.0)
156
+ unicode-display_width (>= 2.4.0, < 3.0)
157
+ rubocop-ast (1.30.0)
158
+ parser (>= 3.2.1.0)
159
+ rubocop-capybara (2.19.0)
160
+ rubocop (~> 1.41)
161
+ rubocop-factory_bot (2.24.0)
162
+ rubocop (~> 1.33)
130
163
  rubocop-rake (0.6.0)
131
164
  rubocop (~> 1.0)
132
- rubocop-rspec (2.16.0)
133
- rubocop (~> 1.33)
134
- ruby-progressbar (1.11.0)
165
+ rubocop-rspec (2.25.0)
166
+ rubocop (~> 1.40)
167
+ rubocop-capybara (~> 2.17)
168
+ rubocop-factory_bot (~> 2.22)
169
+ ruby-progressbar (1.13.0)
135
170
  ruby2_keywords (0.0.5)
171
+ ruby_git_crypt (0.1.0.pre.2)
172
+ immutable-struct (~> 2.4)
173
+ lino (~> 3.0)
136
174
  ruby_gpg2 (0.10.0)
137
175
  lino (~> 3.0)
138
176
  sawyer (0.9.2)
@@ -146,18 +184,19 @@ GEM
146
184
  simplecov-html (0.12.3)
147
185
  simplecov_json_formatter (0.1.4)
148
186
  sshkey (2.0.0)
149
- thor (1.2.1)
150
- tzinfo (2.0.5)
187
+ thor (1.3.0)
188
+ tzinfo (2.0.6)
151
189
  concurrent-ruby (~> 1.0)
152
- unicode-display_width (2.3.0)
153
- webrick (1.7.0)
154
- yard (0.9.28)
155
- webrick (~> 1.7.0)
190
+ unicode-display_width (2.5.0)
191
+ yard (0.9.34)
156
192
 
157
193
  PLATFORMS
158
194
  arm64-darwin-21
195
+ arm64-darwin-22
159
196
  ruby
160
197
  x86_64-darwin-19
198
+ x86_64-darwin-20
199
+ x86_64-darwin-21
161
200
  x86_64-linux
162
201
 
163
202
  DEPENDENCIES
@@ -168,6 +207,8 @@ DEPENDENCIES
168
207
  guard-rspec
169
208
  rake
170
209
  rake_circle_ci
210
+ rake_git
211
+ rake_git_crypt
171
212
  rake_github
172
213
  rake_gpg
173
214
  rake_ssh
@@ -180,4 +221,4 @@ DEPENDENCIES
180
221
  yard
181
222
 
182
223
  BUNDLED WITH
183
- 2.4.2
224
+ 2.4.17
data/Rakefile CHANGED
@@ -1,24 +1,56 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'yaml'
4
- require 'yard'
5
3
  require 'rake_circle_ci'
4
+ require 'rake_git'
5
+ require 'rake_git_crypt'
6
6
  require 'rake_github'
7
- require 'rake_ssh'
8
7
  require 'rake_gpg'
9
- require 'securerandom'
8
+ require 'rake_ssh'
10
9
  require 'rspec/core/rake_task'
11
10
  require 'rubocop/rake_task'
11
+ require 'securerandom'
12
+ require 'yaml'
13
+ require 'yard'
12
14
 
13
15
  task default: %i[
14
16
  library:fix
15
17
  test:unit
16
18
  ]
17
19
 
20
+ RakeGitCrypt.define_standard_tasks(
21
+ namespace: :git_crypt,
22
+
23
+ provision_secrets_task_name: :'secrets:provision',
24
+ destroy_secrets_task_name: :'secrets:destroy',
25
+
26
+ install_commit_task_name: :'git:commit',
27
+ uninstall_commit_task_name: :'git:commit',
28
+
29
+ gpg_user_key_paths: %w[
30
+ config/gpg
31
+ config/secrets/ci/gpg.public
32
+ ]
33
+ )
34
+
35
+ namespace :git do
36
+ RakeGit.define_commit_task(
37
+ argument_names: [:message]
38
+ ) do |t, args|
39
+ t.message = args.message
40
+ end
41
+ end
42
+
18
43
  namespace :encryption do
44
+ namespace :directory do
45
+ desc 'Ensure CI secrets directory exists.'
46
+ task :ensure do
47
+ FileUtils.mkdir_p('config/secrets/ci')
48
+ end
49
+ end
50
+
19
51
  namespace :passphrase do
20
52
  desc 'Generate encryption passphrase for CI GPG key'
21
- task :generate do
53
+ task generate: ['directory:ensure'] do
22
54
  File.write(
23
55
  'config/secrets/ci/encryption.passphrase',
24
56
  SecureRandom.base64(36)
@@ -46,6 +78,36 @@ namespace :keys do
46
78
  end
47
79
  end
48
80
 
81
+ namespace :secrets do
82
+ namespace :directory do
83
+ desc 'Ensure secrets directory exists and is set up correctly'
84
+ task :ensure do
85
+ FileUtils.mkdir_p('config/secrets')
86
+ unless File.exist?('config/secrets/.unlocked')
87
+ File.write('config/secrets/.unlocked', 'true')
88
+ end
89
+ end
90
+ end
91
+
92
+ desc 'Generate all generatable secrets.'
93
+ task generate: %w[
94
+ encryption:passphrase:generate
95
+ keys:deploy:generate
96
+ keys:gpg:generate
97
+ ]
98
+
99
+ desc 'Provision all secrets.'
100
+ task provision: [:generate]
101
+
102
+ desc 'Delete all secrets.'
103
+ task :destroy do
104
+ rm_rf 'config/secrets'
105
+ end
106
+
107
+ desc 'Rotate all secrets.'
108
+ task rotate: [:'git_crypt:reinstall']
109
+ end
110
+
49
111
  RuboCop::RakeTask.new
50
112
 
51
113
  YARD::Rake::YardocTask.new do |t|
@@ -127,7 +189,6 @@ end
127
189
  namespace :pipeline do
128
190
  desc 'Prepare CircleCI Pipeline'
129
191
  task prepare: %i[
130
- circle_ci:project:follow
131
192
  circle_ci:env_vars:ensure
132
193
  circle_ci:checkout_keys:ensure
133
194
  circle_ci:ssh_keys:ensure
@@ -49,6 +49,8 @@ module RubyTerraform
49
49
  # (deprecated, removed in terraform 0.15).
50
50
  # * +:lock_timeout+: the duration to retry a state lock; defaults to +"0s"+;
51
51
  # (deprecated, removed in terraform 0.15).
52
+ # * +:migrate_state+: if set, attempts to reconfigure a backend and attempt
53
+ # to migrate any existing state
52
54
  # * +:no_color+: whether or not the output from the command should be in
53
55
  # color; defaults to +false+.
54
56
  # * +:plugin_dir+: the path to a directory containing plugin binaries; this
@@ -104,6 +106,7 @@ module RubyTerraform
104
106
  -input
105
107
  -lock
106
108
  -lock-timeout
109
+ -migrate-state
107
110
  -no-color
108
111
  -plugin-dir
109
112
  -reconfigure
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative '../value_equality'
4
- require_relative './objects'
4
+ require_relative 'objects'
5
5
 
6
6
  module RubyTerraform
7
7
  module Models
@@ -1,12 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative './values'
4
- require_relative './path_set'
3
+ require_relative 'values'
4
+ require_relative 'path_set'
5
5
 
6
6
  module RubyTerraform
7
7
  module Models
8
8
  # rubocop:disable Metrics/ModuleLength
9
9
  module Objects
10
+ # rubocop:disable Metrics/ClassLength
10
11
  class << self
11
12
  # rubocop:disable Style/RedundantAssignment
12
13
  # rubocop:disable Metrics/MethodLength
@@ -165,6 +166,7 @@ module RubyTerraform
165
166
  path_values.sort { |a, b| a[0] <=> b[0] }
166
167
  end
167
168
  end
169
+ # rubocop:enable Metrics/ClassLength
168
170
  end
169
171
  # rubocop:enable Metrics/ModuleLength
170
172
  end
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative './list'
4
- require_relative './map'
5
- require_relative './known_value'
6
- require_relative './unknown_value'
7
- require_relative './omitted_value'
3
+ require_relative 'list'
4
+ require_relative 'map'
5
+ require_relative 'known_value'
6
+ require_relative 'unknown_value'
7
+ require_relative 'omitted_value'
8
8
 
9
9
  module RubyTerraform
10
10
  module Models
@@ -61,6 +61,7 @@ module RubyTerraform
61
61
  -force-copy
62
62
  -ignore-remote-version
63
63
  -json
64
+ -migrate-state
64
65
  -no-color
65
66
  -raw
66
67
  -reconfigure
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyTerraform
4
- VERSION = '1.8.0.pre.1'
4
+ VERSION = '1.8.0.pre.3'
5
5
  end
@@ -48,6 +48,8 @@ Gem::Specification.new do |spec|
48
48
  spec.add_development_dependency 'guard-rspec'
49
49
  spec.add_development_dependency 'rake'
50
50
  spec.add_development_dependency 'rake_circle_ci'
51
+ spec.add_development_dependency 'rake_git'
52
+ spec.add_development_dependency 'rake_git_crypt'
51
53
  spec.add_development_dependency 'rake_github'
52
54
  spec.add_development_dependency 'rake_gpg'
53
55
  spec.add_development_dependency 'rake_ssh'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-terraform
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0.pre.1
4
+ version: 1.8.0.pre.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-02 00:00:00.000000000 Z
11
+ date: 2023-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: immutable-struct
@@ -136,6 +136,34 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rake_git
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rake_git_crypt
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
139
167
  - !ruby/object:Gem::Dependency
140
168
  name: rake_github
141
169
  requirement: !ruby/object:Gem::Requirement