cloudstrap 0.42.9.pre → 0.43.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cloudstrap/component_versions.rb +35 -0
- data/lib/cloudstrap/config.rb +36 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bc9419405b45fa2b6ce77e13a6214eea069b1cdb
|
4
|
+
data.tar.gz: 4a3b4d6cec099f2fd7f51cf530bb605664996214
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c75b853bce1ab62228e7cf76f1a22c85102fe4679e477480814587cbb3d6e369a82e6e6e07c6e03320c98afd6e5614ecb3edd9866cd48c03ab2f2eba5658fb85
|
7
|
+
data.tar.gz: bcc021f60f44c04ad9f2a5b4057d93fd25d5e395e1a969c54740aca873c7e9e418071bd258bd7bf0a4b962cf74ca1c78c0d99c4c2d1b23311b2a6e62129e73e4
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'multi_json'
|
3
|
+
|
4
|
+
module Cloudstrap
|
5
|
+
class ComponentVersions
|
6
|
+
def initialize(config)
|
7
|
+
@config = config
|
8
|
+
self
|
9
|
+
end
|
10
|
+
|
11
|
+
def hcp
|
12
|
+
version_from https.get @config.hcp_metadata
|
13
|
+
end
|
14
|
+
|
15
|
+
def hce
|
16
|
+
version_from https.get @config.hce_metadata
|
17
|
+
end
|
18
|
+
|
19
|
+
def hsm
|
20
|
+
version_from https.get @config.hsm_metadata
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def https
|
26
|
+
@https ||= Faraday.new "https://#{@config.artifact_origin}"
|
27
|
+
end
|
28
|
+
|
29
|
+
def version_from(response)
|
30
|
+
return unless response.success?
|
31
|
+
|
32
|
+
MultiJson.load(response.body).fetch('Version')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/cloudstrap/config.rb
CHANGED
@@ -2,6 +2,8 @@ require 'contracts'
|
|
2
2
|
require 'pastel'
|
3
3
|
require 'yaml'
|
4
4
|
|
5
|
+
require_relative 'component_versions'
|
6
|
+
|
5
7
|
module Cloudstrap
|
6
8
|
class Config
|
7
9
|
include ::Contracts::Core
|
@@ -113,6 +115,34 @@ module Cloudstrap
|
|
113
115
|
lookup(:artifact_prefix) { '/downloads' }
|
114
116
|
end
|
115
117
|
|
118
|
+
Contract None => String
|
119
|
+
def hce_prefix
|
120
|
+
lookup(:hce_prefix) do
|
121
|
+
"#{artifact_prefix}/hce"
|
122
|
+
end.squeeze('/')
|
123
|
+
end
|
124
|
+
|
125
|
+
Contract None => String
|
126
|
+
def hce_metadata
|
127
|
+
lookup(:hce_metadata) do
|
128
|
+
"#{hce_prefix}/dist/v2/linux-amd64.json"
|
129
|
+
end.squeeze('/')
|
130
|
+
end
|
131
|
+
|
132
|
+
Contract None => String
|
133
|
+
def hsm_prefix
|
134
|
+
lookup(:hsm_prefix) do
|
135
|
+
"#{artifact_prefix}/hsm"
|
136
|
+
end.squeeze('/')
|
137
|
+
end
|
138
|
+
|
139
|
+
Contract None => String
|
140
|
+
def hsm_metadata
|
141
|
+
lookup(:hsm_metadata) do
|
142
|
+
"#{hsm_prefix}/cli/update/linux-amd64.json"
|
143
|
+
end.squeeze('/')
|
144
|
+
end
|
145
|
+
|
116
146
|
Contract None => String
|
117
147
|
def hcp_prefix
|
118
148
|
lookup(:hcp_prefix) do
|
@@ -134,7 +164,7 @@ module Cloudstrap
|
|
134
164
|
|
135
165
|
Contract None => String
|
136
166
|
def hcp_bootstrap_version
|
137
|
-
lookup(:hcp_bootstrap_version) {
|
167
|
+
lookup(:hcp_bootstrap_version) { latest.hcp }
|
138
168
|
end
|
139
169
|
|
140
170
|
alias hcp_version hcp_bootstrap_version
|
@@ -234,6 +264,11 @@ EOS
|
|
234
264
|
@path ||= File.expand_path [dir, file].join('/')
|
235
265
|
end
|
236
266
|
|
267
|
+
Contract None => ComponentVersions
|
268
|
+
def latest
|
269
|
+
@latest ||= ComponentVersions.new self
|
270
|
+
end
|
271
|
+
|
237
272
|
Contract None => Hash
|
238
273
|
def config
|
239
274
|
@settings ||= if File.exist?(path)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudstrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.43.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Olstrom
|
@@ -336,6 +336,7 @@ files:
|
|
336
336
|
- lib/cloudstrap/amazon/service.rb
|
337
337
|
- lib/cloudstrap/amazon/support/rate_limit_handler.rb
|
338
338
|
- lib/cloudstrap/bootstrap_agent.rb
|
339
|
+
- lib/cloudstrap/component_versions.rb
|
339
340
|
- lib/cloudstrap/config.rb
|
340
341
|
- lib/cloudstrap/errors.rb
|
341
342
|
- lib/cloudstrap/hcp/bootstrap_properties.rb
|