prometheus-config-builder 0.0.40 → 0.0.41

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: db9d70c9130bb149fa99797f998e4b828da28cbc15fba570cdd5d8730d59548b
4
- data.tar.gz: 6e9bc7caeee2dd2bc3f5f389094c55473c6c2c4df67652a10d1663035d8a2b1d
3
+ metadata.gz: 3574ad59107c1c4fc456b503ff1bc457910fc03726415ac13a6e2c0758dff438
4
+ data.tar.gz: 46a9834fa8b808557b034494509af311492beb3b187f253fe6f6bc285e3d5058
5
5
  SHA512:
6
- metadata.gz: ed72434fddba4e8b45dd5053d46b019658942f995acdd12c0e9b6d5c7e3bbf8e0e2bc3e97c5dd1e7913d9e05005a2c468057dfdce68b3e4c50c89562b39becb8
7
- data.tar.gz: c699d9be7b7a777f24453297368d5225380e6c499b5e32102a243afca2eac8bc395fe1f41d3202237f071c6a3d8d10b421ff82b558e99e084dbb5566c2a57b27
6
+ metadata.gz: 758050db5fa1ae8674fce4edeb778024f33e345240359b9ca8de5cb5b04a30b12a3c96fb6f35469425fcb22204523841e52f1d6e263531d9e6546f1f395c72b3
7
+ data.tar.gz: 1114ab1112acfeac569b950c939b1c9627783aeb3222380e88aa02b0fb3591d5d0dab4ef928acb4fb606d188063cdae30563403319b5f1fe915d41e8fb985096
@@ -19,6 +19,7 @@ require 'prometheus-config-builder'
19
19
 
20
20
  config = {}
21
21
  config[:paths] ||= []
22
+ config[:bucket_region] ||= ''
22
23
  config[:root] ||= 'test/data'
23
24
  config[:every] = 60
24
25
  config[:pgrep] = nil
@@ -35,6 +36,9 @@ op = OptionParser.new do |o|
35
36
  o.on('--path=[PATH]', 'Directory or S3 location for individual config yaml files. Can be set multiple times') do |arg|
36
37
  config[:paths] << arg
37
38
  end
39
+ o.on('--bucket_region=[BUCKET_REGION]', 'Ther region where the s3 bucket exists') do |arg|
40
+ config[:bucket_region] << arg
41
+ end
38
42
  o.on('--http PORT', Integer,
39
43
  'Port to listen on for http for Prometheus /metrics api') do |port|
40
44
  abort 'Invalid port' if port < 1 || port > 65535
@@ -103,7 +107,7 @@ config[:paths].each do |path|
103
107
  log.info("Adding path #{path} to config discovery list")
104
108
  builder.add_path(path)
105
109
  end
106
-
110
+ builder.add_bucket_region(config[:bucket_region])
107
111
 
108
112
  loop do
109
113
  starting = Time.now
@@ -108,7 +108,7 @@ module PrometheusConfigBuilder
108
108
 
109
109
  class ConfigDiscover
110
110
  include PrometheusConfigBuilderLogger
111
- def discover(glob)
111
+ def discover(glob, bucket_region)
112
112
 
113
113
  files = []
114
114
  if m = glob.match(/s3:\/\/([^\/]+)\/(.*)/)
@@ -118,7 +118,13 @@ module PrometheusConfigBuilder
118
118
  x = $VERBOSE
119
119
  $VERBOSE = nil
120
120
  require 'aws-sdk'
121
- s3 = Aws::S3::Client.new
121
+ s3 = nil
122
+ if !bucket_region.empty?
123
+ logger.debug("bucket_region set as >#{bucket_region}<")
124
+ s3 = Aws::S3::Client.new(region: bucket_region)
125
+ else
126
+ s3 = Aws::S3::Client.new
127
+ end
122
128
  $VERBOSE = x
123
129
  key = []
124
130
  resp = s3.list_objects_v2({
@@ -260,6 +266,7 @@ module PrometheusConfigBuilder
260
266
 
261
267
  @discoverer = ConfigDiscover.new
262
268
  @paths = []
269
+ @bucket_region = ""
263
270
  @last_hash = ""
264
271
 
265
272
  @@config_files = PrometheusExporter::Client.default.register(:gauge, "prometheusconfigbuilder_config_files", "Number of found config files")
@@ -270,12 +277,17 @@ module PrometheusConfigBuilder
270
277
  @paths << path
271
278
  end
272
279
 
280
+ def add_bucket_region(bucket_region)
281
+ @bucket_region << bucket_region
282
+ end
283
+
273
284
  def write_out
274
285
  hash = ""
275
286
  cfs = ConfigFiles.new(@prometheus_src)
287
+ bucket_region = @bucket_region
276
288
  files = []
277
289
  @paths.each do |path|
278
- found_files = @discoverer.discover(path)
290
+ found_files = @discoverer.discover(path, bucket_region)
279
291
  logger.info("Found #{found_files.length} files from path #{path}")
280
292
  files.push(*found_files)
281
293
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'prometheus-config-builder'
6
- s.version = '0.0.40'
6
+ s.version = '0.0.41'
7
7
  s.date = Time.now
8
8
 
9
9
  s.summary = %q{Template based config generation}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prometheus-config-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.40
4
+ version: 0.0.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juho Mäkinen juho.makinen@gmail.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-07 00:00:00.000000000 Z
11
+ date: 2024-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk