captive-log-utils 0.2.0 → 0.4.0

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: 639c54a276ccc5432b4f8225d361c8fc5077616c605c2b891e52117340e91aff
4
- data.tar.gz: 193d79f7d4369a5e3e5fcb8389e7cc12bdd7866d4d3556759771333502c6fb32
3
+ metadata.gz: 1877b2fd076c37d3f592be7df084e239e1a8f6d7ee35428cbcbddbe5acc4047b
4
+ data.tar.gz: 2e96c828d5c5bcdeb3898bc5bb82f4238ea3c7b63e01abd177c6f23111dc9054
5
5
  SHA512:
6
- metadata.gz: 513bb7f21473119a6f6ade7a1bfb3f9f4b5a03f3f02249ec79878840550af9d50b48557b132bbe716b64b3a97e82e7c9d1d07c9ad08d55e4c0ba359ec18e0f1e
7
- data.tar.gz: 6a5ac0095e215a310dba956a826fe475e60c46575de9c0ef7dc8c5e630a8ceaabc9351ee98eceacbadbd799b2235afdc8c2a915e0c59ed6ade9a4d9f695fa482
6
+ metadata.gz: 8ac3081651a6165f3835bcb0b9f0de2a1b33860f67b5ef477b64546caafdca799a0a1fcf44c845d328b074423abf8e0d481d1fe9aa3092113fd73f84bd17fef2
7
+ data.tar.gz: 7b0e0183815271a9b450c481c059c963f94fd197ee30b0b36504da5b87e0231fdee7ba7f3095aea614915a2187b1a1778ec2448aefaa1cfe1a9c071e666316b9
@@ -5,6 +5,16 @@ module Captive
5
5
  module ProcessLabel
6
6
  POD_SUFFIX_RE = /-[a-z0-9]{5,10}-[a-z0-9]{5}\z/
7
7
 
8
+ # Familles de pods dont plusieurs variantes de nommage doivent être
9
+ # regroupées sous un même label (ex. les pods de données redis-N et
10
+ # les pods sentinel redis-sentinel-sentinel-N appartiennent tous les
11
+ # deux au groupe "redis"). Ajouter une famille ici plutôt que de
12
+ # complexifier .for quand un nouveau cas apparaît.
13
+ GROUPS = {
14
+ "redis" => [ /\Aredis-\d+\z/, /\Aredis-sentinel-sentinel-\d+\z/ ],
15
+ "s3-bucket" => [ /\As3-bucket-init-[a-z0-9]{5}\z/ ],
16
+ }.freeze
17
+
8
18
  # Dérive un label court depuis le nom du pod.
9
19
  #
10
20
  # container: quand fourni et différent de namespace, retourné tel quel
@@ -20,8 +30,13 @@ module Captive
20
30
  return "web" if base == namespace
21
31
 
22
32
  label = base.delete_prefix("#{namespace}-")
23
- label.match?(/\Aredis-\d+\z/) ? "redis" : label
33
+ group_for(label) || label
34
+ end
35
+
36
+ def self.group_for(label)
37
+ GROUPS.find { |_, patterns| patterns.any? { |pattern| pattern.match?(label) } }&.first
24
38
  end
39
+ private_class_method :group_for
25
40
  end
26
41
  end
27
42
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Captive
4
4
  module LogUtils
5
- VERSION = "0.2.0"
5
+ VERSION = "0.4.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: captive-log-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Captive Studio
@@ -38,7 +38,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
38
38
  - !ruby/object:Gem::Version
39
39
  version: '0'
40
40
  requirements: []
41
- rubygems_version: 4.0.10
41
+ rubygems_version: 4.0.20
42
42
  specification_version: 4
43
43
  summary: Utilitaires partagés pour le parsing et la classification des logs Kubernetes
44
44
  test_files: []