philbot-scheduler 1.4.2 → 1.4.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/scheduler.rb +19 -17
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 69b96f9e4941881cfbc8a55647cdc1bbd352b9b10bfcae7ceb65a19da8506e1a
4
- data.tar.gz: 53b0de0bfb732d5c331912947e0edbd2506b0c4750a8fc5f8e78c57db328029b
3
+ metadata.gz: 31630991a1f328e8acb2eaf0b15ce5b671393ad8f8d7dfa24ccc312fefd13093
4
+ data.tar.gz: 020c8ee78ca48e0f7e564e908104f267a084ae4ad1eb1608d8bf37bae301bebb
5
5
  SHA512:
6
- metadata.gz: d18af0a6e569604201b2bd60ce356add9a39360d3bde8d1babdb0b2be4404110eae230e030c86d0e9e03b41219af314552902e421a1121664b6a3bbc92ae6720
7
- data.tar.gz: ae61292892b82e88a4553912778b9259ea46b6dbfea69b594a83e91ad5c0f21abd1e916770ccf813e36cb2921a2e6b81e002f28231eb59680da9c828c5e1db14
6
+ metadata.gz: ade93746eee0c4edaee38d5f91748b78f04b3bc424c6aa0f482de1af59e3c9adf5afdbbba75c9de2182ddd8b1582102f86f7a529540dade594a790efcd046af3
7
+ data.tar.gz: 00653e37ad30d6ae4e709d3a8dbb5ab83fd6a5bdfeb3a9774565613591d19b5222286e74b1623ab82963740f4b5c9f0c410e97847c161e5b943b4cac2a2e5296
data/lib/scheduler.rb CHANGED
@@ -29,24 +29,26 @@ module AwsEC2ResourceDetector
29
29
  extend self
30
30
 
31
31
  def detect
32
- token_request = Net::HTTP.new(URI('http://169.254.169.254/latest/api/token'))
33
- token_request.add_field('X-aws-ec2-metadata-token-ttl-seconds', '60')
34
- token = token_request.send_request('PUT', '/latest/api/token').body
35
- identity = JSON.parse(Net::HTTP.get(URI('http://169.254.169.254/latest/dynamic/instance-identity/document'), { 'X-aws-ec2-metadata-token' => token }).body)
36
- hostname = Net::HTTP.get(URI('http://169.254.169.254/latest/meta-data/hostname'), { 'X-aws-ec2-metadata-token' => token }).body
37
- resource_attributes = {}
38
- unless identity.nil?
39
- resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_PROVIDER] = 'aws'
40
- resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_PLATFORM] = 'aws_ec2'
41
- resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_ACCOUNT_ID] = identity['accountId']
42
- resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_REGION] = identity['region']
43
- resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_AVAILABILITY_ZONE] = identity['availabilityZone']
44
- resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_ID] = identity['instanceId']
45
- resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_TYPE] = identity['instanceType']
46
- resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_NAME] = hostname
32
+ begin
33
+ token = Net::HTTP.new('169.254.169.254', 80).start { |http| http.request(Net::HTTP::Put.new('/latest/api/token', initheader = { 'X-aws-ec2-metadata-token-ttl-seconds' => '60'})) }
34
+ identity = JSON.parse(Net::HTTP.get(URI('http://169.254.169.254/latest/dynamic/instance-identity/document'), { 'X-aws-ec2-metadata-token' => token }).body)
35
+ hostname = Net::HTTP.get(URI('http://169.254.169.254/latest/meta-data/hostname'), { 'X-aws-ec2-metadata-token' => token }).body
36
+ resource_attributes = {}
37
+ unless identity.nil?
38
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_PROVIDER] = 'aws'
39
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_PLATFORM] = 'aws_ec2'
40
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_ACCOUNT_ID] = identity['accountId']
41
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_REGION] = identity['region']
42
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::CLOUD_AVAILABILITY_ZONE] = identity['availabilityZone']
43
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_ID] = identity['instanceId']
44
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_TYPE] = identity['instanceType']
45
+ resource_attributes[OpenTelemetry::SemanticConventions::Resource::HOST_NAME] = hostname
46
+ end
47
+ resource_attributes.delete_if { |_key, value| value.nil? || value.empty? }
48
+ OpenTelemetry::SDK::Resources::Resource.create(resource_attributes)
49
+ rescue
50
+ OpenTelemetry::SDK::Resources::Resource.create({})
47
51
  end
48
- resource_attributes.delete_if { |_key, value| value.nil? || value.empty? }
49
- OpenTelemetry::SDK::Resources::Resource.create(resource_attributes)
50
52
  end
51
53
  end
52
54
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: philbot-scheduler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Philipp Lengauer