concourserb 0.0.16 → 0.0.18

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/concourserb.rb +19 -16
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c2063afecb2e74e7bd6513931f526b76c403f07e8ad20a68dabed5781a460ea
4
- data.tar.gz: 633313a62af176331763e0b05cf39ed4425abeff83d35ca1c7f601351860318b
3
+ metadata.gz: 9621e8198c441b399f8c1fd925c43ac8b6f7ee62e304dd5a1c0255cee439cfe0
4
+ data.tar.gz: 608d1767247edbc9346ba896d905e643c693d182401fa04b22d6ff0da3911101
5
5
  SHA512:
6
- metadata.gz: 289e7fd5a57c6e5cd7411a83a7e4611b04543738745abbb8e774ad029ab42aad944d6df8603b30885d10047635fdd3f2f6a2f4e6db00984d6ea33ea28eca0ba2
7
- data.tar.gz: 8ec1841ea1818aebb64e68bbd55a91f3b0c01fa516151d4828389d51d63a7bdcd3ecea6244a4a38e95a36e53e69bbb4fbdf83347622258a5d88cb421d48d1319
6
+ metadata.gz: 9f13c3caa9b8b4697922a9fe456e1ff183ee103f713c6641e60f65477ad09d9809980a2000ecf53606c6001edd72bc89f8d8cea69fdc5e8d812e7c034838527d
7
+ data.tar.gz: 18278f3d5ba6f80afcb2c3c4b002a14559ba89850f2e0cdbdfa403e76f59a9b879da1506d0011516dfc7129a20001f11c5b33a056df5d669164cab8645eb1fac
@@ -73,14 +73,6 @@ class Concourserb
73
73
  return get("/api/v1/teams/#{@team}/pipelines/#{pipeline_name}/resources/#{resource_name}/versions/#{resource_version_id}")
74
74
  end
75
75
 
76
- def enable_resource_version(pipeline_name, resource_name, resource_version_id)
77
- return put("/api/v1/teams/#{@team}/pipelines/#{pipeline_name}/resources/#{resource_name}/versions/#{resource_version_id}/enable")
78
- end
79
-
80
- def disable_resource_version(pipeline_name, resource_name, resource_version_id)
81
- return put("/api/v1/teams/#{@team}/pipelines/#{pipeline_name}/resources/#{resource_name}/versions/#{resource_version_id}/disable")
82
- end
83
-
84
76
  def list_builds_with_version_as_input(pipeline_name, resource_name, resource_id)
85
77
  return get("/api/v1/teams/#{@team}/pipelines/#{pipeline_name}/resources/#{resource_name}/versions/#{resource_id}/input_to")
86
78
  end
@@ -147,10 +139,6 @@ class Concourserb
147
139
  return get("/api/v1/teams/#{@team}/pipelines/#{pipeline_name}/jobs/#{job_name}/builds")
148
140
  end
149
141
 
150
- def create_job_build(pipeline_name, job_name)
151
- return post("/api/v1/teams/#{@team}/pipelines/#{pipeline_name}/jobs/#{job_name}/builds")
152
- end
153
-
154
142
  def list_job_inputs(pipeline_name, job_name)
155
143
  return get("/api/v1/teams/#{@team}/pipelines/#{pipeline_name}/jobs/#{job_name}/inputs")
156
144
  end
@@ -178,13 +166,28 @@ class Concourserb
178
166
  private
179
167
 
180
168
  def auth()
169
+ # TODO fix this up to be cleaner; this is the first POC for concourse auth 4.0
181
170
  http = Net::HTTP.new(URI.parse(@url).host, URI.parse(@url).port)
182
171
  http.use_ssl = true
183
- request = Net::HTTP::Get.new("/auth/basic/token?team_name=#{@team}")
184
- request['Content-Type'] = 'application/json'
185
- request.basic_auth(@user, @pass)
172
+ request = Net::HTTP::Get.new("https://#{URI.parse(@url).host}/sky/login")
173
+ response = http.request(request)
174
+ cookie_value = response['set-cookie'].split(';')[0]
175
+ request = Net::HTTP::Get.new(URI.parse(response['location']))
176
+ request['Cookie'] = cookie_value
177
+ response = http.request(request)
178
+ next_url = URI.parse("#{URI.parse(@url).host}#{response.body.split("\n").select{ |x| x.include?('/sky/issuer/auth/local') }.first.strip.split('"')[1]}")
179
+ request = Net::HTTP::Post.new("https://#{next_url}")
180
+ request.set_form_data({'login': @user, 'password': @pass})
181
+ request['Cookie'] = cookie_value
182
+ response = http.request(request)
183
+ next_url = "https://#{response['location']}"
184
+ request = Net::HTTP::Get.new(URI.parse(next_url))
185
+ request['Cookie'] = cookie_value
186
+ response = http.request(request)
187
+ request = Net::HTTP::Get.new(URI.parse(response['location']))
188
+ request['Cookie'] = cookie_value
186
189
  response = http.request(request)
187
- @ATC_auth = JSON.parse(response.body)["value"]
190
+ @ATC_auth = response.to_hash['set-cookie'].select { |x| x.include?('skymarshal_auth="Bearer') }[0].split('"')[1].split(" ")[1]
188
191
  return true
189
192
  end
190
193
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: concourserb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.16
4
+ version: 0.0.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Arwine