rake_fly 2.0.0.pre.pre.1 → 2.2.0.pre.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6833139bfe6b492d3250ec7db54009a2a12adf0546bea2f41fa6bf152d6d7829
4
- data.tar.gz: 245dc8182b2676ded02571eabfb44ce2b350d0e154d9355c11f944296bcb2657
3
+ metadata.gz: 23eaf922de0635c670d45a20ca22f31cc51ac7d307ffa76d6e6cb8dfd1fb64c3
4
+ data.tar.gz: 4a1e1737b410f93b3f2c390a4abd7006e45d3764a2c352359a2621e29c842521
5
5
  SHA512:
6
- metadata.gz: af314f9e92e7ed1e51e73b3d96e96bc82ccbd753d94a8e498b3e22b1908b1772412cd7960b43c98b006d227ad3d2b14a2a617bd0f7a3283293da24978e16d366
7
- data.tar.gz: 077f960a221ece5642cc32d1a24714b3b74561324e0d64ed5bcd2ea95d3b090b7267ba6df9c50f8c98a56e6ec341fbea24acef75ad18dcf380b2c91d7416ecf3
6
+ metadata.gz: b79e5d67473266467b04255dfae3b22a5a432373f6f771adda250d3f0ea827b62512cf7dc333fc34fee98d2242ddecf09a3ddfff1a9bac14724a87192d2d629a
7
+ data.tar.gz: 7d244c74204f1c3b24d00f21ce5d20f83ce8d5489a8b06d6d0e3958b2057b9f1385a12e864c33eef7296e18ec38f27dc4cc08deed7316ddf76661c5982fe4754
@@ -1,10 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_fly (2.0.0.pre.pre.1)
4
+ rake_fly (2.2.0.pre.4)
5
+ concourse.rb (>= 0.4)
5
6
  rake_dependencies (~> 2, < 3)
6
7
  rake_factory (>= 0.29, < 1)
7
- ruby_fly (>= 0.19)
8
+ ruby_fly (>= 0.27)
8
9
  semantic (~> 1.6.1)
9
10
 
10
11
  GEM
@@ -19,11 +20,46 @@ GEM
19
20
  addressable (2.7.0)
20
21
  public_suffix (>= 2.0.2, < 5.0)
21
22
  colored2 (3.1.2)
23
+ concourse.rb (0.4.0)
24
+ dry-schema (~> 0.5)
25
+ excon (~> 0.72)
26
+ semantic (~> 1.5)
22
27
  concurrent-ruby (1.1.7)
23
28
  diff-lcs (1.4.4)
24
29
  docile (1.3.4)
30
+ dry-configurable (0.12.0)
31
+ concurrent-ruby (~> 1.0)
32
+ dry-core (~> 0.5, >= 0.5.0)
33
+ dry-container (0.7.2)
34
+ concurrent-ruby (~> 1.0)
35
+ dry-configurable (~> 0.1, >= 0.1.3)
36
+ dry-core (0.5.0)
37
+ concurrent-ruby (~> 1.0)
38
+ dry-equalizer (0.3.0)
39
+ dry-inflector (0.2.0)
40
+ dry-initializer (3.0.4)
41
+ dry-logic (1.1.0)
42
+ concurrent-ruby (~> 1.0)
43
+ dry-core (~> 0.5, >= 0.5)
44
+ dry-schema (0.6.0)
45
+ concurrent-ruby (~> 1.0)
46
+ dry-configurable (~> 0.8, >= 0.8.0)
47
+ dry-core (~> 0.4)
48
+ dry-equalizer (~> 0.2)
49
+ dry-initializer (~> 3.0)
50
+ dry-logic (~> 1.0)
51
+ dry-types (~> 1.0)
52
+ dry-types (1.4.0)
53
+ concurrent-ruby (~> 1.0)
54
+ dry-container (~> 0.3)
55
+ dry-core (~> 0.4, >= 0.4.4)
56
+ dry-equalizer (~> 0.3)
57
+ dry-inflector (~> 0.1, >= 0.1.2)
58
+ dry-logic (~> 1.0, >= 1.0.2)
25
59
  excon (0.78.1)
26
60
  fakefs (0.20.1)
61
+ faker (2.15.1)
62
+ i18n (>= 1.6, < 2)
27
63
  faraday (1.3.0)
28
64
  faraday-net_http (~> 1.0)
29
65
  multipart-post (>= 1.2, < 3)
@@ -32,8 +68,9 @@ GEM
32
68
  gem-release (2.2.0)
33
69
  hamster (3.0.0)
34
70
  concurrent-ruby (~> 1.0)
35
- i18n (1.8.6)
71
+ i18n (1.8.7)
36
72
  concurrent-ruby (~> 1.0)
73
+ jwt (2.2.2)
37
74
  lino (1.7.0)
38
75
  hamster (~> 3.0)
39
76
  open4 (~> 1.3)
@@ -44,6 +81,7 @@ GEM
44
81
  faraday (>= 0.9)
45
82
  sawyer (~> 0.8.0, >= 0.5.3)
46
83
  open4 (1.3.4)
84
+ openssl (2.2.0)
47
85
  public_suffix (4.0.6)
48
86
  rake (13.0.3)
49
87
  rake_circle_ci (0.9.0)
@@ -85,7 +123,7 @@ GEM
85
123
  rspec-support (~> 3.10.0)
86
124
  rspec-support (3.10.1)
87
125
  ruby2_keywords (0.0.2)
88
- ruby_fly (0.23.0)
126
+ ruby_fly (0.27.0)
89
127
  lino (>= 1.5)
90
128
  ruby_gpg2 (0.8.0)
91
129
  lino (>= 1.5)
@@ -94,7 +132,7 @@ GEM
94
132
  addressable (>= 2.3.5)
95
133
  faraday (> 0.8, < 2.0)
96
134
  semantic (1.6.1)
97
- simplecov (0.21.0)
135
+ simplecov (0.21.1)
98
136
  docile (~> 1.1)
99
137
  simplecov-html (~> 0.11)
100
138
  simplecov_json_formatter (~> 0.1)
@@ -113,7 +151,10 @@ DEPENDENCIES
113
151
  activesupport (>= 4)
114
152
  bundler (~> 2.1)
115
153
  fakefs (~> 0.18)
154
+ faker (~> 2.15)
116
155
  gem-release (~> 2.0)
156
+ jwt (~> 2.2)
157
+ openssl (~> 2.2)
117
158
  rake (~> 13.0)
118
159
  rake_circle_ci (~> 0.9)
119
160
  rake_fly!
@@ -19,6 +19,9 @@ module RakeFly
19
19
  parameter :var_files
20
20
  parameter :non_interactive
21
21
 
22
+ parameter :home_directory,
23
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
24
+
22
25
  parameter :get_task_name, :default => :get
23
26
  parameter :set_task_name, :default => :set
24
27
  parameter :unpause_task_name, :default => :unpause
@@ -1,3 +1,4 @@
1
+ require_relative 'tasks/authentication/login'
1
2
  require_relative 'tasks/pipeline/get'
2
3
  require_relative 'tasks/pipeline/set'
3
4
  require_relative 'tasks/pipeline/unpause'
@@ -0,0 +1,80 @@
1
+ require 'ruby_fly'
2
+ require 'rake_factory'
3
+ require 'concourse'
4
+
5
+ module RakeFly
6
+ module Tasks
7
+ module Authentication
8
+ class Login < RakeFactory::Task
9
+ class FlyBackend
10
+ def resolve_prerequisites(task)
11
+ [task.ensure_task_name]
12
+ end
13
+
14
+ def execute(task)
15
+ RubyFly.login(
16
+ target: task.target,
17
+ concourse_url: task.concourse_url,
18
+ username: task.username,
19
+ password: task.password,
20
+ team: task.team,
21
+ environment: {
22
+ "HOME" => task.home_directory
23
+ })
24
+ end
25
+ end
26
+
27
+ class ApiBackend
28
+ def resolve_prerequisites(_)
29
+ []
30
+ end
31
+
32
+ def execute(task)
33
+ client = Concourse::Client.new(
34
+ url: task.concourse_url)
35
+ token = client.for_skymarshal.create_token(
36
+ username: task.username,
37
+ password: task.password)
38
+
39
+ rc = RubyFly::RC.load(home: task.home_directory)
40
+ rc.add_or_update_target(task.target) do |target|
41
+ target.api = task.concourse_url
42
+ target.team = task.team
43
+ target.bearer_token = token.access_token
44
+ end
45
+ rc.write!
46
+ end
47
+ end
48
+
49
+ default_name :login
50
+ default_prerequisites RakeFactory::DynamicValue.new { |t|
51
+ t.backend.new.resolve_prerequisites(t)
52
+ }
53
+ default_description RakeFactory::DynamicValue.new { |t|
54
+ concourse_url = t.concourse_url || '<derived>'
55
+ target = t.target || '<derived>'
56
+
57
+ "Login to #{concourse_url} as target #{target}"
58
+ }
59
+
60
+ parameter :concourse_url, required: true
61
+ parameter :team, default: 'main'
62
+ parameter :target, required: true
63
+ parameter :username
64
+ parameter :password
65
+
66
+ parameter :backend, default: ApiBackend
67
+
68
+ parameter :home_directory,
69
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
70
+
71
+ parameter :ensure_task_name, :default => :'fly:ensure'
72
+
73
+ action do |t|
74
+ puts "Logging in to #{t.concourse_url} as target #{t.target}..."
75
+ t.backend.new.execute(t)
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -18,14 +18,20 @@ module RakeFly
18
18
 
19
19
  parameter :target, :required => true
20
20
  parameter :pipeline, :required => true
21
-
21
+
22
+ parameter :home_directory,
23
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
24
+
22
25
  parameter :ensure_task_name, :default => :'fly:ensure'
23
26
 
24
27
  action do |t|
25
28
  puts "Getting pipeline #{t.pipeline} for target #{t.target}..."
26
29
  RubyFly.get_pipeline(
27
30
  target: t.target,
28
- pipeline: t.pipeline)
31
+ pipeline: t.pipeline,
32
+ environment: {
33
+ "HOME" => t.home_directory
34
+ })
29
35
  end
30
36
  end
31
37
  end
@@ -25,6 +25,9 @@ module RakeFly
25
25
  parameter :var_files
26
26
  parameter :non_interactive
27
27
 
28
+ parameter :home_directory,
29
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
30
+
28
31
  parameter :ensure_task_name, :default => :'fly:ensure'
29
32
 
30
33
  action do |t|
@@ -36,7 +39,10 @@ module RakeFly
36
39
  config: t.config,
37
40
  vars: t.vars,
38
41
  var_files: t.var_files,
39
- non_interactive: t.non_interactive)
42
+ non_interactive: t.non_interactive,
43
+ environment: {
44
+ "HOME" => t.home_directory
45
+ })
40
46
  end
41
47
  end
42
48
  end
@@ -20,6 +20,9 @@ module RakeFly
20
20
  parameter :team
21
21
  parameter :pipeline, :required => true
22
22
 
23
+ parameter :home_directory,
24
+ default: RakeFactory::DynamicValue.new { |_| ENV['HOME'] }
25
+
23
26
  parameter :ensure_task_name, :default => :'fly:ensure'
24
27
 
25
28
  action do |t|
@@ -27,7 +30,10 @@ module RakeFly
27
30
  RubyFly.unpause_pipeline(
28
31
  target: t.target,
29
32
  team: t.team,
30
- pipeline: t.pipeline)
33
+ pipeline: t.pipeline,
34
+ environment: {
35
+ "HOME" => t.home_directory
36
+ })
31
37
  end
32
38
  end
33
39
  end
@@ -1,3 +1,3 @@
1
1
  module RakeFly
2
- VERSION = '2.0.0-pre.1'
2
+ VERSION = '2.2.0.pre.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_fly
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre.pre.1
4
+ version: 2.2.0.pre.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-03 00:00:00.000000000 Z
11
+ date: 2021-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_dependencies
@@ -56,14 +56,28 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: '0.19'
59
+ version: '0.27'
60
60
  type: :runtime
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
- version: '0.19'
66
+ version: '0.27'
67
+ - !ruby/object:Gem::Dependency
68
+ name: concourse.rb
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0.4'
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0.4'
67
81
  - !ruby/object:Gem::Dependency
68
82
  name: semantic
69
83
  requirement: !ruby/object:Gem::Requirement
@@ -218,6 +232,48 @@ dependencies:
218
232
  - - "~>"
219
233
  - !ruby/object:Gem::Version
220
234
  version: '0.18'
235
+ - !ruby/object:Gem::Dependency
236
+ name: jwt
237
+ requirement: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - "~>"
240
+ - !ruby/object:Gem::Version
241
+ version: '2.2'
242
+ type: :development
243
+ prerelease: false
244
+ version_requirements: !ruby/object:Gem::Requirement
245
+ requirements:
246
+ - - "~>"
247
+ - !ruby/object:Gem::Version
248
+ version: '2.2'
249
+ - !ruby/object:Gem::Dependency
250
+ name: openssl
251
+ requirement: !ruby/object:Gem::Requirement
252
+ requirements:
253
+ - - "~>"
254
+ - !ruby/object:Gem::Version
255
+ version: '2.2'
256
+ type: :development
257
+ prerelease: false
258
+ version_requirements: !ruby/object:Gem::Requirement
259
+ requirements:
260
+ - - "~>"
261
+ - !ruby/object:Gem::Version
262
+ version: '2.2'
263
+ - !ruby/object:Gem::Dependency
264
+ name: faker
265
+ requirement: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - "~>"
268
+ - !ruby/object:Gem::Version
269
+ version: '2.15'
270
+ type: :development
271
+ prerelease: false
272
+ version_requirements: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - "~>"
275
+ - !ruby/object:Gem::Version
276
+ version: '2.15'
221
277
  - !ruby/object:Gem::Dependency
222
278
  name: simplecov
223
279
  requirement: !ruby/object:Gem::Requirement
@@ -253,6 +309,7 @@ files:
253
309
  - lib/rake_fly/task_sets.rb
254
310
  - lib/rake_fly/task_sets/pipeline.rb
255
311
  - lib/rake_fly/tasks.rb
312
+ - lib/rake_fly/tasks/authentication/login.rb
256
313
  - lib/rake_fly/tasks/pipeline/get.rb
257
314
  - lib/rake_fly/tasks/pipeline/push.rb
258
315
  - lib/rake_fly/tasks/pipeline/set.rb