prometheus-config-builder 0.0.40 → 0.0.41

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: 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