rake_docker 2.20.0.pre.2 → 2.20.0.pre.4

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: '082441d261e8b8897d2da7ae2c9ad7722439f0863926907aa27735e9154d4f37'
4
- data.tar.gz: d0c9a5fdfede301a1c3261b10bd48b1f0966db822f30423b4402d10f5713c8b8
3
+ metadata.gz: fb6a300be17d19aa913fd8ddb105bf55cb555e2fe662efe8e4156ece17bbbba9
4
+ data.tar.gz: c9961094001b2bea000bd5aa01cb1999ae93b29eb379858e9dc9607eb0fa75d4
5
5
  SHA512:
6
- metadata.gz: 8d1d6f257f4c4c375408fbcfd35ead79843c04acdeb9036504c6066e392ff0c7d0e06cb4920602a43da9606fe6fad6ee0bdfc2c1e6180d28f10234bded9945e9
7
- data.tar.gz: 2f0f6d6b5ad6c50fbba68a5ab9aaf4aafb60f96156efb301df92093b1df8f001dc0e4d5fe62ff7952d688095fb41581570d67bbaad98a08332c5f663204c386e
6
+ metadata.gz: f1a448a9a1a734f1e67eeaddf6bb440c9754162019b0d1af43a6221a8120c00c3ded82e685fc2db5c036fc3b3cf8fe7ba5ed76382951d1ece1fc989e8e5ca79d
7
+ data.tar.gz: 2ef7ddf5f0f67154e727f5f04bdd7ab09c5ee1a2422e0dfbfcbb001763cae5f7ec2b3c414a922c048ce80a5dfb3fb6ffe20bd5bd1a55ecd172d56ce9868843a9
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,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_docker (2.20.0.pre.2)
4
+ rake_docker (2.20.0.pre.4)
5
5
  aws-sdk-ecr (~> 1.2)
6
6
  colored2 (~> 3.1)
7
7
  docker-api (>= 1.34, < 3.0)
@@ -10,69 +10,97 @@ PATH
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activesupport (7.0.4)
13
+ activesupport (7.1.1)
14
+ base64
15
+ bigdecimal
14
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
+ connection_pool (>= 2.2.5)
18
+ drb
15
19
  i18n (>= 1.6, < 2)
16
20
  minitest (>= 5.1)
21
+ mutex_m
17
22
  tzinfo (~> 2.0)
18
- addressable (2.8.1)
23
+ addressable (2.8.5)
19
24
  public_suffix (>= 2.0.2, < 6.0)
20
25
  ast (2.4.2)
21
26
  aws-eventstream (1.2.0)
22
- aws-partitions (1.686.0)
23
- aws-sdk-core (3.168.4)
27
+ aws-partitions (1.843.0)
28
+ aws-sdk-core (3.185.1)
24
29
  aws-eventstream (~> 1, >= 1.0.2)
25
30
  aws-partitions (~> 1, >= 1.651.0)
26
31
  aws-sigv4 (~> 1.5)
27
32
  jmespath (~> 1, >= 1.6.1)
28
- aws-sdk-ecr (1.57.0)
29
- aws-sdk-core (~> 3, >= 3.165.0)
33
+ aws-sdk-ecr (1.65.0)
34
+ aws-sdk-core (~> 3, >= 3.184.0)
30
35
  aws-sigv4 (~> 1.1)
31
- aws-sigv4 (1.5.2)
36
+ aws-sigv4 (1.6.1)
32
37
  aws-eventstream (~> 1, >= 1.0.2)
38
+ base64 (0.1.1)
39
+ bigdecimal (3.1.4)
33
40
  colored2 (3.1.2)
34
- concurrent-ruby (1.1.10)
41
+ concurrent-ruby (1.2.2)
42
+ connection_pool (2.4.1)
35
43
  diff-lcs (1.5.0)
36
44
  docile (1.4.0)
37
45
  docker-api (2.2.0)
38
46
  excon (>= 0.47.0)
39
47
  multi_json
40
- excon (0.95.0)
41
- faraday (2.7.2)
48
+ drb (2.1.1)
49
+ ruby2_keywords
50
+ excon (0.104.0)
51
+ faraday (2.7.11)
52
+ base64
42
53
  faraday-net_http (>= 2.0, < 3.1)
43
54
  ruby2_keywords (>= 0.0.4)
44
55
  faraday-net_http (3.0.2)
45
56
  gem-release (2.2.2)
57
+ git (1.18.0)
58
+ addressable (~> 2.8)
59
+ rchardet (~> 1.8)
46
60
  hamster (3.0.0)
47
61
  concurrent-ruby (~> 1.0)
48
- i18n (1.12.0)
62
+ i18n (1.14.1)
49
63
  concurrent-ruby (~> 1.0)
64
+ immutable-struct (2.4.1)
50
65
  jmespath (1.6.2)
51
66
  json (2.6.3)
67
+ language_server-protocol (3.17.0.3)
52
68
  lino (3.1.0)
53
69
  hamster (~> 3.0)
54
70
  open4 (~> 1.3)
55
71
  memfs (1.0.0)
56
- minitest (5.17.0)
72
+ minitest (5.20.0)
57
73
  multi_json (1.15.0)
58
- octokit (6.0.1)
74
+ mutex_m (0.1.2)
75
+ octokit (6.1.1)
59
76
  faraday (>= 1, < 3)
60
77
  sawyer (~> 0.9)
61
78
  open4 (1.3.4)
62
- parallel (1.22.1)
63
- parser (3.1.3.0)
79
+ parallel (1.23.0)
80
+ parser (3.2.2.4)
64
81
  ast (~> 2.4.1)
65
- public_suffix (5.0.1)
82
+ racc
83
+ public_suffix (5.0.3)
84
+ racc (1.7.1)
66
85
  rainbow (3.1.1)
67
- rake (13.0.6)
86
+ rake (13.1.0)
68
87
  rake_circle_ci (0.11.0)
69
88
  colored2 (~> 3.1)
70
89
  excon (~> 0.72)
71
90
  rake_factory (~> 0.23)
72
91
  sshkey (~> 2.0)
73
- rake_factory (0.31.0)
92
+ rake_factory (0.32.0.pre.2)
74
93
  activesupport (>= 4)
75
94
  rake (~> 13.0)
95
+ rake_git (0.1.0.pre.7)
96
+ colored2 (~> 3.1)
97
+ git (~> 1.13, >= 1.13.2)
98
+ rake_factory (= 0.32.0.pre.2)
99
+ rake_git_crypt (0.1.0.pre.26)
100
+ colored2 (~> 3.1)
101
+ rake_factory (= 0.32.0.pre.2)
102
+ ruby_git_crypt (= 0.1.0.pre.2)
103
+ ruby_gpg2 (~> 0.6)
76
104
  rake_github (0.11.0)
77
105
  colored2 (~> 3.1)
78
106
  octokit (>= 4.16, < 7.0)
@@ -81,43 +109,54 @@ GEM
81
109
  rake_gpg (0.18.0)
82
110
  rake_factory (~> 0.23)
83
111
  ruby_gpg2 (~> 0.6)
84
- rake_ssh (0.8.0)
112
+ rake_ssh (0.10.0)
85
113
  colored2 (~> 3.1)
86
114
  rake_factory (~> 0.23)
87
115
  sshkey (~> 2.0)
88
- regexp_parser (2.6.1)
89
- rexml (3.2.5)
116
+ rchardet (1.8.0)
117
+ regexp_parser (2.8.2)
118
+ rexml (3.2.6)
90
119
  rspec (3.12.0)
91
120
  rspec-core (~> 3.12.0)
92
121
  rspec-expectations (~> 3.12.0)
93
122
  rspec-mocks (~> 3.12.0)
94
- rspec-core (3.12.0)
123
+ rspec-core (3.12.2)
95
124
  rspec-support (~> 3.12.0)
96
- rspec-expectations (3.12.1)
125
+ rspec-expectations (3.12.3)
97
126
  diff-lcs (>= 1.2.0, < 2.0)
98
127
  rspec-support (~> 3.12.0)
99
- rspec-mocks (3.12.1)
128
+ rspec-mocks (3.12.6)
100
129
  diff-lcs (>= 1.2.0, < 2.0)
101
130
  rspec-support (~> 3.12.0)
102
- rspec-support (3.12.0)
103
- rubocop (1.42.0)
131
+ rspec-support (3.12.1)
132
+ rubocop (1.57.2)
104
133
  json (~> 2.3)
134
+ language_server-protocol (>= 3.17.0)
105
135
  parallel (~> 1.10)
106
- parser (>= 3.1.2.1)
136
+ parser (>= 3.2.2.4)
107
137
  rainbow (>= 2.2.2, < 4.0)
108
138
  regexp_parser (>= 1.8, < 3.0)
109
139
  rexml (>= 3.2.5, < 4.0)
110
- rubocop-ast (>= 1.24.1, < 2.0)
140
+ rubocop-ast (>= 1.28.1, < 2.0)
111
141
  ruby-progressbar (~> 1.7)
112
- unicode-display_width (>= 1.4.0, < 3.0)
113
- rubocop-ast (1.24.1)
114
- parser (>= 3.1.1.0)
142
+ unicode-display_width (>= 2.4.0, < 3.0)
143
+ rubocop-ast (1.30.0)
144
+ parser (>= 3.2.1.0)
145
+ rubocop-capybara (2.19.0)
146
+ rubocop (~> 1.41)
147
+ rubocop-factory_bot (2.24.0)
148
+ rubocop (~> 1.33)
115
149
  rubocop-rake (0.6.0)
116
150
  rubocop (~> 1.0)
117
- rubocop-rspec (2.16.0)
118
- rubocop (~> 1.33)
119
- ruby-progressbar (1.11.0)
151
+ rubocop-rspec (2.25.0)
152
+ rubocop (~> 1.40)
153
+ rubocop-capybara (~> 2.17)
154
+ rubocop-factory_bot (~> 2.22)
155
+ ruby-progressbar (1.13.0)
120
156
  ruby2_keywords (0.0.5)
157
+ ruby_git_crypt (0.1.0.pre.2)
158
+ immutable-struct (~> 2.4)
159
+ lino (~> 3.0)
121
160
  ruby_gpg2 (0.10.0)
122
161
  lino (~> 3.0)
123
162
  sawyer (0.9.2)
@@ -130,9 +169,9 @@ GEM
130
169
  simplecov-html (0.12.3)
131
170
  simplecov_json_formatter (0.1.4)
132
171
  sshkey (2.0.0)
133
- tzinfo (2.0.5)
172
+ tzinfo (2.0.6)
134
173
  concurrent-ruby (~> 1.0)
135
- unicode-display_width (2.3.0)
174
+ unicode-display_width (2.5.0)
136
175
 
137
176
  PLATFORMS
138
177
  ruby
@@ -145,6 +184,8 @@ DEPENDENCIES
145
184
  rake
146
185
  rake_circle_ci
147
186
  rake_docker!
187
+ rake_git
188
+ rake_git_crypt
148
189
  rake_github
149
190
  rake_gpg
150
191
  rake_ssh
@@ -155,4 +196,4 @@ DEPENDENCIES
155
196
  simplecov
156
197
 
157
198
  BUNDLED WITH
158
- 2.4.10
199
+ 2.4.17
data/Rakefile CHANGED
@@ -1,26 +1,59 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'yaml'
4
3
  require 'rake_circle_ci'
4
+ require 'rake_git'
5
+ require 'rake_git_crypt'
5
6
  require 'rake_github'
6
- require 'rake_ssh'
7
7
  require 'rake_gpg'
8
- require 'securerandom'
8
+ require 'rake_ssh'
9
9
  require 'rspec/core/rake_task'
10
10
  require 'rubocop/rake_task'
11
+ require 'securerandom'
12
+ require 'yaml'
11
13
 
12
14
  task default: %i[
13
15
  library:fix
14
16
  test:unit
15
17
  ]
16
18
 
19
+ RakeGitCrypt.define_standard_tasks(
20
+ namespace: :git_crypt,
21
+
22
+ provision_secrets_task_name: :'secrets:provision',
23
+ destroy_secrets_task_name: :'secrets:destroy',
24
+
25
+ install_commit_task_name: :'git:commit',
26
+ uninstall_commit_task_name: :'git:commit',
27
+
28
+ gpg_user_key_paths: %w[
29
+ config/gpg
30
+ config/secrets/ci/gpg.public
31
+ ]
32
+ )
33
+
34
+ namespace :git do
35
+ RakeGit.define_commit_task(
36
+ argument_names: [:message]
37
+ ) do |t, args|
38
+ t.message = args.message
39
+ end
40
+ end
41
+
17
42
  namespace :encryption do
43
+ namespace :directory do
44
+ desc 'Ensure CI secrets directory exists.'
45
+ task :ensure do
46
+ FileUtils.mkdir_p('config/secrets/ci')
47
+ end
48
+ end
49
+
18
50
  namespace :passphrase do
19
51
  desc 'Generate encryption passphrase for CI GPG key'
20
- task :generate do
21
- FileUtils.mkdir_p('config/secrets/ci/')
22
- File.write('config/secrets/ci/encryption.passphrase',
23
- SecureRandom.base64(36))
52
+ task generate: ['directory:ensure'] do
53
+ File.write(
54
+ 'config/secrets/ci/encryption.passphrase',
55
+ SecureRandom.base64(36)
56
+ )
24
57
  end
25
58
  end
26
59
  end
@@ -44,6 +77,36 @@ namespace :keys do
44
77
  end
45
78
  end
46
79
 
80
+ namespace :secrets do
81
+ namespace :directory do
82
+ desc 'Ensure secrets directory exists and is set up correctly'
83
+ task :ensure do
84
+ FileUtils.mkdir_p('config/secrets')
85
+ unless File.exist?('config/secrets/.unlocked')
86
+ File.write('config/secrets/.unlocked', 'true')
87
+ end
88
+ end
89
+ end
90
+
91
+ desc 'Generate all generatable secrets.'
92
+ task generate: %w[
93
+ encryption:passphrase:generate
94
+ keys:deploy:generate
95
+ keys:gpg:generate
96
+ ]
97
+
98
+ desc 'Provision all secrets.'
99
+ task provision: [:generate]
100
+
101
+ desc 'Delete all secrets.'
102
+ task :destroy do
103
+ rm_rf 'config/secrets'
104
+ end
105
+
106
+ desc 'Rotate all secrets.'
107
+ task rotate: [:'git_crypt:reinstall']
108
+ end
109
+
47
110
  RuboCop::RakeTask.new
48
111
 
49
112
  namespace :library do
@@ -101,7 +164,6 @@ end
101
164
  namespace :pipeline do
102
165
  desc 'Prepare CircleCI Pipeline'
103
166
  task prepare: %i[
104
- circle_ci:project:follow
105
167
  circle_ci:env_vars:ensure
106
168
  circle_ci:checkout_keys:ensure
107
169
  circle_ci:ssh_keys:ensure
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'docker'
4
+ require 'json'
4
5
 
5
6
  module RakeDocker
6
7
  module Container
@@ -179,7 +180,7 @@ module RakeDocker
179
180
 
180
181
  def ensure_image_available(image)
181
182
  reporter.checking_if_image_available(image)
182
- matching_images = Docker::Image.all(filter: image)
183
+ matching_images = Docker::Image.all(filters: filters(image))
183
184
  if matching_images.empty?
184
185
  reporter.image_not_available(image)
185
186
  pull_image(image)
@@ -304,3 +305,11 @@ module RakeDocker
304
305
  end
305
306
  end
306
307
  end
308
+
309
+ def filters(image)
310
+ JSON.generate(
311
+ {
312
+ reference: [image]
313
+ }
314
+ )
315
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RakeDocker
4
- VERSION = '2.20.0.pre.2'
4
+ VERSION = '2.20.0.pre.4'
5
5
  end
data/rake_docker.gemspec CHANGED
@@ -48,6 +48,8 @@ Gem::Specification.new do |spec|
48
48
  spec.add_development_dependency 'memfs'
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: rake_docker
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.20.0.pre.2
4
+ version: 2.20.0.pre.4
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-03-29 00:00:00.000000000 Z
11
+ date: 2023-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-ecr
@@ -156,6 +156,34 @@ dependencies:
156
156
  - - ">="
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: rake_git
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: rake_git_crypt
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
159
187
  - !ruby/object:Gem::Dependency
160
188
  name: rake_github
161
189
  requirement: !ruby/object:Gem::Requirement