Module: Captive::LogUtils::ProcessLabel
- Defined in:
- lib/captive/log_utils/process_label.rb
Constant Summary collapse
- POD_SUFFIX_RE =
/-[a-z0-9]{5,10}-[a-z0-9]{5}\z/- GROUPS =
Familles de pods dont plusieurs variantes de nommage doivent être regroupées sous un même label (ex. les pods de données redis-N et les pods sentinel redis-sentinel-sentinel-N appartiennent tous les deux au groupe "redis"). Ajouter une famille ici plutôt que de complexifier .for quand un nouveau cas apparaît.
{ "redis" => [ /\Aredis-\d+\z/, /\Aredis-sentinel-sentinel-\d+\z/ ], }.freeze
Class Method Summary collapse
-
.for(pod:, namespace:, container: nil) ⇒ Object
Dérive un label court depuis le nom du pod.
Class Method Details
.for(pod:, namespace:, container: nil) ⇒ Object
Dérive un label court depuis le nom du pod.
container: quand fourni et différent de namespace, retourné tel quel
(ex. "migrate", "release") — couvre le cas kubectl --prefix où le
container name est explicite dans le préfixe [pod/
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/captive/log_utils/process_label.rb', line 22 def self.for(pod:, namespace:, container: nil) return nil if pod.nil? return container if container && container != namespace return "db" if pod.match?(/\Apostgres-#{Regexp.escape(namespace)}-\d+\z/) base = pod.sub(POD_SUFFIX_RE, "") return "web" if base == namespace label = base.delete_prefix("#{namespace}-") group_for(label) || label end |