Class: Fluent::Plugin::KubernetesAnnotationFilter
- Inherits:
-
Filter
- Object
- Filter
- Fluent::Plugin::KubernetesAnnotationFilter
- Defined in:
- lib/fluent/plugin/filter_kubernetes_annotation.rb
Instance Attribute Summary collapse
-
#containing_annotations ⇒ Object
readonly
Returns the value of attribute containing_annotations.
Instance Method Summary collapse
- #configure(conf) ⇒ Object
- #filter(_, _, record) ⇒ Object
-
#initialize ⇒ KubernetesAnnotationFilter
constructor
A new instance of KubernetesAnnotationFilter.
Constructor Details
#initialize ⇒ KubernetesAnnotationFilter
Returns a new instance of KubernetesAnnotationFilter.
11 12 13 |
# File 'lib/fluent/plugin/filter_kubernetes_annotation.rb', line 11 def initialize super end |
Instance Attribute Details
#containing_annotations ⇒ Object (readonly)
Returns the value of attribute containing_annotations.
9 10 11 |
# File 'lib/fluent/plugin/filter_kubernetes_annotation.rb', line 9 def containing_annotations @containing_annotations end |
Instance Method Details
#configure(conf) ⇒ Object
22 23 24 25 26 |
# File 'lib/fluent/plugin/filter_kubernetes_annotation.rb', line 22 def configure(conf) super @containing_annotations = @contains_sections.map(&:annotation) end |
#filter(_, _, record) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fluent/plugin/filter_kubernetes_annotation.rb', line 28 def filter(_, _, record) begin if(record.has_key?("kubernetes") && record["kubernetes"].has_key?("annotations")) unless annotations_contain_container_name?(record) return nil end elsif(!@pass_through_events_without_kubernetes_tags) return nil end rescue => e log.warn "failed to filter by kubernetes annotation", error: e log.warn_backtrace end return record end |