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/

Class Method Summary collapse

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//].



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/captive/log_utils/process_label.rb', line 13

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}-")
  label.match?(/\Aredis-\d+\z/) ? "redis" : label
end