Sha256: 9517bda960744da5122a829992dea02d19d87e6feb4b3f42a3b4dd006d3f02c4

Contents?: true

Size: 925 Bytes

Versions: 2

Compression:

Stored size: 925 Bytes

Contents

require 'fluent/output'
require_relative '../../kubernetes_labels_tag_appender.rb'

module Fluent
  class Fluent::AppendKubernetesLabelsToTag < Fluent::Output
    Fluent::Plugin.register_output('append_kubernetes_labels_to_tag', self)

    config_param :labels, :string

    def configure(conf)
      super

      @labels = conf['labels'].split(',')
    end

    def emit(tag, es, chain)
      es.each do |time, record|
        kubernetes_labels_tag_appender.events(tag, time, record).each do |(tag, time, record)|
          router.emit(tag, time, record)
        end
      end

      chain.next
    rescue
      log.error "Failed to re-format docker record #{record}"
      # this seems to be a way to safely swallow records we don't know how to format
      ""
    end

    private

    def kubernetes_labels_tag_appender
      @kubernetes_labels_tag_appender ||= KubernetesLabelsTagAppender.new(@labels)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fluent-plugin-append-kubernetes-labels-to-tag-0.0.3.pre.alpha5 lib/fluent/plugin/out_append_kubernetes_labels_to_tag.rb
fluent-plugin-append-kubernetes-labels-to-tag-0.0.3.pre.alpha4 lib/fluent/plugin/out_append_kubernetes_labels_to_tag.rb