rake_fly 2.0.0.pre.pre.1 → 2.2.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: 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