From 5bd6a915e58e5e259ab4b35eafc9f5bd45f4ea93 Mon Sep 17 00:00:00 2001 From: Jeff Cantrill Date: Thu, 14 Jul 2022 17:03:08 -0400 Subject: [PATCH] LOG-2770: Update kubemetadata filter --- fluentd/Gemfile | 2 +- fluentd/Gemfile.lock | 8 +- fluentd/rh-manifest.txt | 2 +- .../activemodel/activemodel.gemspec | 10 +- .../activesupport/activesupport.gemspec | 22 +- .../async-http/async-http.gemspec | 46 +- .../async-io/async-io.gemspec | 28 +- .../async-pool/async-pool.gemspec | 22 +- fluentd/vendored_gem_src/async/async.gemspec | 34 +- .../aws-eventstream/aws-eventstream.gemspec | 2 +- .../aws-partitions/aws-partitions.gemspec | 2 +- .../aws-sdk-cloudwatchlogs.gemspec | 13 +- .../aws-sdk-core/aws-sdk-core.gemspec | 19 +- .../aws-sigv4/aws-sigv4.gemspec | 10 +- .../concurrent-ruby/concurrent-ruby.gemspec | 2 +- .../vendored_gem_src/console/console.gemspec | 25 +- .../faraday-em_http/faraday-em_http.gemspec | 40 +- .../faraday-em_synchrony.gemspec | 46 +- .../faraday-excon/faraday-excon.gemspec | 40 +- .../faraday-httpclient.gemspec | 40 +- .../faraday-multipart.gemspec | 10 +- .../faraday-net_http/faraday-net_http.gemspec | 37 +- .../faraday-net_http_persistent.gemspec | 34 +- .../faraday-patron/faraday-patron.gemspec | 40 +- .../faraday-rack/faraday-rack.gemspec | 40 +- .../faraday-retry/faraday-retry.gemspec | 2 +- .../vendored_gem_src/faraday/faraday.gemspec | Bin 7248 -> 6482 bytes .../fiber-local/fiber-local.gemspec | 16 +- .../fluent-plugin-grafana-loki.gemspec | 28 +- .../Gemfile.lock | 58 +-- .../README.md | 55 +-- .../5m-1-2500lps-256b-baseline-01/cpu.png | Bin 0 -> 9056 bytes .../5m-1-2500lps-256b-baseline-01/latency.png | Bin 0 -> 14207 bytes .../5m-1-2500lps-256b-baseline-01/loss.png | Bin 0 -> 6559 bytes .../5m-1-2500lps-256b-baseline-01/mem.png | Bin 0 -> 9547 bytes .../5m-1-2500lps-256b-baseline-01/readme.md | 88 ++++ .../results.html | 127 +++++ .../5m-1-2500lps-256b-kube-01-01/cpu.png | Bin 0 -> 9500 bytes .../5m-1-2500lps-256b-kube-01-01/latency.png | Bin 0 -> 11756 bytes .../5m-1-2500lps-256b-kube-01-01/loss.png | Bin 0 -> 4826 bytes .../5m-1-2500lps-256b-kube-01-01/mem.png | Bin 0 -> 7759 bytes .../5m-1-2500lps-256b-kube-01-01/readme.md | 97 ++++ .../5m-1-2500lps-256b-kube-01-01/results.html | 136 ++++++ .../cpu.png | Bin 0 -> 8604 bytes .../latency.png | Bin 0 -> 13830 bytes .../loss.png | Bin 0 -> 4918 bytes .../mem.png | Bin 0 -> 10074 bytes .../readme.md | 97 ++++ .../results.html | 136 ++++++ ...-plugin-kubernetes_metadata_filter.gemspec | 6 +- .../plugin/filter_kubernetes_metadata.rb | 200 +++----- .../kubernetes_metadata_cache_strategy.rb | 4 +- .../plugin/kubernetes_metadata_common.rb | 17 +- .../plugin/kubernetes_metadata_stats.rb | 16 + .../fluent/plugin/kubernetes_metadata_util.rb | 20 - .../kubernetes_metadata_watch_namespaces.rb | 33 ++ .../plugin/kubernetes_metadata_watch_pods.rb | 33 ++ .../plugin/test_filter_kubernetes_metadata.rb | 443 +----------------- .../test/plugin/test_utils.rb | 56 --- .../fluent-plugin-systemd.gemspec | 25 +- .../httpclient/httpclient.gemspec | 2 +- fluentd/vendored_gem_src/i18n/i18n.gemspec | 10 +- .../jmespath/jmespath.gemspec | 2 +- fluentd/vendored_gem_src/mail/mail.gemspec | 25 +- .../mime-types-data/mime-types-data.gemspec | 40 +- .../mime-types/mime-types.gemspec | 52 +- .../minitest/minitest.gemspec | 13 +- .../multi_json/multi_json.gemspec | 13 +- .../net-http-persistent.gemspec | 25 +- fluentd/vendored_gem_src/netrc/netrc.gemspec | 10 +- fluentd/vendored_gem_src/oj/oj.gemspec | 19 +- .../prometheus-client.gemspec | 13 +- .../protocol-hpack/protocol-hpack.gemspec | 19 +- .../protocol-http/protocol-http.gemspec | 16 +- .../protocol-http1/protocol-http1.gemspec | 25 +- .../protocol-http2/protocol-http2.gemspec | 22 +- .../ruby2_keywords/ruby2_keywords.gemspec | 2 +- .../vendored_gem_src/timers/timers.gemspec | 16 +- .../vendored_gem_src/traces/traces.gemspec | 10 +- .../tzinfo-data/tzinfo-data.gemspec | 10 +- .../vendored_gem_src/tzinfo/tzinfo.gemspec | 10 +- .../validate_email/validate_email.gemspec | 25 +- .../validate_url/validate_url.gemspec | 28 +- .../zeitwerk/zeitwerk.gemspec | 2 +- 84 files changed, 1282 insertions(+), 1394 deletions(-) create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/cpu.png create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/latency.png create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/loss.png create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/mem.png create mode 100755 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/readme.md create mode 100755 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/results.html create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/cpu.png create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/latency.png create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/loss.png create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/mem.png create mode 100755 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/readme.md create mode 100755 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/results.html create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/cpu.png create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/latency.png create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/loss.png create mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/mem.png create mode 100755 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/readme.md create mode 100755 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/results.html delete mode 100644 fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/test/plugin/test_utils.rb diff --git a/fluentd/Gemfile b/fluentd/Gemfile index 4fc127900..3d8cbf1e6 100644 --- a/fluentd/Gemfile +++ b/fluentd/Gemfile @@ -1,7 +1,7 @@ source "https://rubygems.org" gem 'fluentd', ENV['FLUENTD_VERSION'], :source=>"https://rubygems.org" gem 'elasticsearch', '< 8.0' -gem 'fluent-plugin-kubernetes_metadata_filter', '2.10.0' +gem 'fluent-plugin-kubernetes_metadata_filter', '3.0.1' gem 'fluent-plugin-cloudwatch-logs', "0.14.2" gem 'fluent-plugin-concat' gem 'fluent-plugin-detect-exceptions', "0.0.14" diff --git a/fluentd/Gemfile.lock b/fluentd/Gemfile.lock index 7b677e20b..9ac762671 100644 --- a/fluentd/Gemfile.lock +++ b/fluentd/Gemfile.lock @@ -113,8 +113,8 @@ GEM fluentd (>= 0.10.58, < 2) ltsv ruby-kafka (>= 1.4.0, < 2) - fluent-plugin-kubernetes_metadata_filter (2.10.0) - fluentd (>= 0.14.0, < 1.15) + fluent-plugin-kubernetes_metadata_filter (3.0.1) + fluentd (>= 0.14.0, < 1.16) kubeclient (>= 4.0.0, < 5.0.0) lru_redux fluent-plugin-label-router (0.2.10) @@ -286,7 +286,7 @@ DEPENDENCIES fluent-plugin-elasticsearch fluent-plugin-grafana-loki fluent-plugin-kafka - fluent-plugin-kubernetes_metadata_filter (= 2.10.0) + fluent-plugin-kubernetes_metadata_filter (= 3.0.1) fluent-plugin-label-router fluent-plugin-multi-format-parser fluent-plugin-prometheus @@ -295,7 +295,7 @@ DEPENDENCIES fluent-plugin-rewrite-tag-filter fluent-plugin-splunk-hec fluent-plugin-systemd - fluentd! + fluentd (= 1.14.6)! kubeclient oj rake diff --git a/fluentd/rh-manifest.txt b/fluentd/rh-manifest.txt index e24be193e..f4e03033c 100644 --- a/fluentd/rh-manifest.txt +++ b/fluentd/rh-manifest.txt @@ -65,7 +65,7 @@ rubygem-faraday 1.10.0 https://lostisland.github.io/faraday rubygem-ffi 1.15.5 https://github.com/ffi/ffi/wiki rubygem-fluent-mixin-config-placeholders 0.4.0 https://github.com/tagomoris/fluent-mixin-config-placeholders rubygem-fluent-plugin-elasticsearch 5.2.2 https://github.com/uken/fluent-plugin-elasticsearch -rubygem-fluent-plugin-kubernetes_metadata_filter 2.10.0 https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter +rubygem-fluent-plugin-kubernetes_metadata_filter 3.0.1 https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter rubygem-fluent-plugin-prometheus 2.0.3 https://github.com/fluent/fluent-plugin-prometheus rubygem-fluent-plugin-record-modifier 2.1.0 https://github.com/repeatedly/fluent-plugin-record-modifier rubygem-fluent-plugin-remote-syslog 1.1 https://github.com/docebo/fluent-plugin-remote-syslog diff --git a/fluentd/vendored_gem_src/activemodel/activemodel.gemspec b/fluentd/vendored_gem_src/activemodel/activemodel.gemspec index 516d1e56c..e230f0064 100644 --- a/fluentd/vendored_gem_src/activemodel/activemodel.gemspec +++ b/fluentd/vendored_gem_src/activemodel/activemodel.gemspec @@ -16,17 +16,15 @@ Gem::Specification.new do |s| s.homepage = "https://rubyonrails.org".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A toolkit for building modeling frameworks (part of Rails).".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["= 6.1.6"]) - else - s.add_dependency(%q.freeze, ["= 6.1.6"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["= 6.1.6"]) else s.add_dependency(%q.freeze, ["= 6.1.6"]) end diff --git a/fluentd/vendored_gem_src/activesupport/activesupport.gemspec b/fluentd/vendored_gem_src/activesupport/activesupport.gemspec index 78aa29873..3bbc181a7 100644 --- a/fluentd/vendored_gem_src/activesupport/activesupport.gemspec +++ b/fluentd/vendored_gem_src/activesupport/activesupport.gemspec @@ -17,25 +17,19 @@ Gem::Specification.new do |s| s.licenses = ["MIT".freeze] s.rdoc_options = ["--encoding".freeze, "UTF-8".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 1.6", "< 2"]) - s.add_runtime_dependency(%q.freeze, ["~> 2.0"]) - s.add_runtime_dependency(%q.freeze, ["~> 1.0", ">= 1.0.2"]) - s.add_runtime_dependency(%q.freeze, ["~> 2.3"]) - s.add_runtime_dependency(%q.freeze, [">= 5.1"]) - else - s.add_dependency(%q.freeze, [">= 1.6", "< 2"]) - s.add_dependency(%q.freeze, ["~> 2.0"]) - s.add_dependency(%q.freeze, ["~> 1.0", ">= 1.0.2"]) - s.add_dependency(%q.freeze, ["~> 2.3"]) - s.add_dependency(%q.freeze, [">= 5.1"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 1.6", "< 2"]) + s.add_runtime_dependency(%q.freeze, ["~> 2.0"]) + s.add_runtime_dependency(%q.freeze, ["~> 1.0", ">= 1.0.2"]) + s.add_runtime_dependency(%q.freeze, ["~> 2.3"]) + s.add_runtime_dependency(%q.freeze, [">= 5.1"]) else s.add_dependency(%q.freeze, [">= 1.6", "< 2"]) s.add_dependency(%q.freeze, ["~> 2.0"]) diff --git a/fluentd/vendored_gem_src/async-http/async-http.gemspec b/fluentd/vendored_gem_src/async-http/async-http.gemspec index 0c6f53035..b6cf03773 100644 --- a/fluentd/vendored_gem_src/async-http/async-http.gemspec +++ b/fluentd/vendored_gem_src/async-http/async-http.gemspec @@ -13,41 +13,27 @@ Gem::Specification.new do |s| s.files = ["bake/async/http.rb".freeze, "bake/async/http/h2spec.rb".freeze, "lib/async/http.rb".freeze, "lib/async/http/body.rb".freeze, "lib/async/http/body/delayed.rb".freeze, "lib/async/http/body/hijack.rb".freeze, "lib/async/http/body/pipe.rb".freeze, "lib/async/http/body/slowloris.rb".freeze, "lib/async/http/body/stream.rb".freeze, "lib/async/http/body/writable.rb".freeze, "lib/async/http/client.rb".freeze, "lib/async/http/endpoint.rb".freeze, "lib/async/http/internet.rb".freeze, "lib/async/http/internet/instance.rb".freeze, "lib/async/http/protocol.rb".freeze, "lib/async/http/protocol/http1.rb".freeze, "lib/async/http/protocol/http1/client.rb".freeze, "lib/async/http/protocol/http1/connection.rb".freeze, "lib/async/http/protocol/http1/request.rb".freeze, "lib/async/http/protocol/http1/response.rb".freeze, "lib/async/http/protocol/http1/server.rb".freeze, "lib/async/http/protocol/http10.rb".freeze, "lib/async/http/protocol/http11.rb".freeze, "lib/async/http/protocol/http2.rb".freeze, "lib/async/http/protocol/http2/client.rb".freeze, "lib/async/http/protocol/http2/connection.rb".freeze, "lib/async/http/protocol/http2/input.rb".freeze, "lib/async/http/protocol/http2/output.rb".freeze, "lib/async/http/protocol/http2/request.rb".freeze, "lib/async/http/protocol/http2/response.rb".freeze, "lib/async/http/protocol/http2/server.rb".freeze, "lib/async/http/protocol/http2/stream.rb".freeze, "lib/async/http/protocol/https.rb".freeze, "lib/async/http/protocol/request.rb".freeze, "lib/async/http/protocol/response.rb".freeze, "lib/async/http/proxy.rb".freeze, "lib/async/http/reference.rb".freeze, "lib/async/http/relative_location.rb".freeze, "lib/async/http/server.rb".freeze, "lib/async/http/statistics.rb".freeze, "lib/async/http/version.rb".freeze] s.homepage = "https://github.com/socketry/async-http".freeze s.licenses = ["MIT".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A HTTP client and server library.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 1.25"]) - s.add_runtime_dependency(%q.freeze, [">= 1.28"]) - s.add_runtime_dependency(%q.freeze, [">= 0.2"]) - s.add_runtime_dependency(%q.freeze, ["~> 0.22.0"]) - s.add_runtime_dependency(%q.freeze, ["~> 0.14.0"]) - s.add_runtime_dependency(%q.freeze, ["~> 0.14.0"]) - s.add_runtime_dependency(%q.freeze, ["~> 0.4.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.14"]) - s.add_development_dependency(%q.freeze, ["~> 1.10"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 3.6"]) - else - s.add_dependency(%q.freeze, [">= 1.25"]) - s.add_dependency(%q.freeze, [">= 1.28"]) - s.add_dependency(%q.freeze, [">= 0.2"]) - s.add_dependency(%q.freeze, ["~> 0.22.0"]) - s.add_dependency(%q.freeze, ["~> 0.14.0"]) - s.add_dependency(%q.freeze, ["~> 0.14.0"]) - s.add_dependency(%q.freeze, ["~> 0.4.0"]) - s.add_dependency(%q.freeze, ["~> 0.14"]) - s.add_dependency(%q.freeze, ["~> 1.10"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 3.6"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 1.25"]) + s.add_runtime_dependency(%q.freeze, [">= 1.28"]) + s.add_runtime_dependency(%q.freeze, [">= 0.2"]) + s.add_runtime_dependency(%q.freeze, ["~> 0.22.0"]) + s.add_runtime_dependency(%q.freeze, ["~> 0.14.0"]) + s.add_runtime_dependency(%q.freeze, ["~> 0.14.0"]) + s.add_runtime_dependency(%q.freeze, ["~> 0.4.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.14"]) + s.add_development_dependency(%q.freeze, ["~> 1.10"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 3.6"]) else s.add_dependency(%q.freeze, [">= 1.25"]) s.add_dependency(%q.freeze, [">= 1.28"]) diff --git a/fluentd/vendored_gem_src/async-io/async-io.gemspec b/fluentd/vendored_gem_src/async-io/async-io.gemspec index a9cef6d3e..00d46ba53 100644 --- a/fluentd/vendored_gem_src/async-io/async-io.gemspec +++ b/fluentd/vendored_gem_src/async-io/async-io.gemspec @@ -13,29 +13,21 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/socketry/async-io".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Provides support for asynchonous TCP, UDP, UNIX and SSL sockets.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 0.15"]) - s.add_development_dependency(%q.freeze, ["~> 1.10"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 3.6"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 0.15"]) - s.add_dependency(%q.freeze, ["~> 1.10"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 3.6"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 0.15"]) + s.add_development_dependency(%q.freeze, ["~> 1.10"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 3.6"]) else s.add_dependency(%q.freeze, [">= 0"]) s.add_dependency(%q.freeze, ["~> 0.15"]) diff --git a/fluentd/vendored_gem_src/async-pool/async-pool.gemspec b/fluentd/vendored_gem_src/async-pool/async-pool.gemspec index f54bd166f..bd08782c9 100644 --- a/fluentd/vendored_gem_src/async-pool/async-pool.gemspec +++ b/fluentd/vendored_gem_src/async-pool/async-pool.gemspec @@ -15,25 +15,19 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/socketry/async-pool".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A singleplex and multiplex resource pool for implementing robust clients.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 1.25"]) - s.add_development_dependency(%q.freeze, ["~> 1.1"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 3.6"]) - else - s.add_dependency(%q.freeze, [">= 1.25"]) - s.add_dependency(%q.freeze, ["~> 1.1"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 3.6"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 1.25"]) + s.add_development_dependency(%q.freeze, ["~> 1.1"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 3.6"]) else s.add_dependency(%q.freeze, [">= 1.25"]) s.add_dependency(%q.freeze, ["~> 1.1"]) diff --git a/fluentd/vendored_gem_src/async/async.gemspec b/fluentd/vendored_gem_src/async/async.gemspec index 1e38673d8..c0c6f5619 100644 --- a/fluentd/vendored_gem_src/async/async.gemspec +++ b/fluentd/vendored_gem_src/async/async.gemspec @@ -13,33 +13,23 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/socketry/async".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A concurrency framework for Ruby.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 1.10"]) - s.add_runtime_dependency(%q.freeze, ["~> 2.3"]) - s.add_runtime_dependency(%q.freeze, ["~> 4.1"]) - s.add_development_dependency(%q.freeze, ["~> 1.1"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 0.10"]) - s.add_development_dependency(%q.freeze, ["~> 3.6"]) - else - s.add_dependency(%q.freeze, ["~> 1.10"]) - s.add_dependency(%q.freeze, ["~> 2.3"]) - s.add_dependency(%q.freeze, ["~> 4.1"]) - s.add_dependency(%q.freeze, ["~> 1.1"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 0.10"]) - s.add_dependency(%q.freeze, ["~> 3.6"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 1.10"]) + s.add_runtime_dependency(%q.freeze, ["~> 2.3"]) + s.add_runtime_dependency(%q.freeze, ["~> 4.1"]) + s.add_development_dependency(%q.freeze, ["~> 1.1"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 0.10"]) + s.add_development_dependency(%q.freeze, ["~> 3.6"]) else s.add_dependency(%q.freeze, ["~> 1.10"]) s.add_dependency(%q.freeze, ["~> 2.3"]) diff --git a/fluentd/vendored_gem_src/aws-eventstream/aws-eventstream.gemspec b/fluentd/vendored_gem_src/aws-eventstream/aws-eventstream.gemspec index 6ebd69392..ce87c00e1 100644 --- a/fluentd/vendored_gem_src/aws-eventstream/aws-eventstream.gemspec +++ b/fluentd/vendored_gem_src/aws-eventstream/aws-eventstream.gemspec @@ -15,7 +15,7 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/aws/aws-sdk-ruby".freeze s.licenses = ["Apache-2.0".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "AWS Event Stream Library".freeze end diff --git a/fluentd/vendored_gem_src/aws-partitions/aws-partitions.gemspec b/fluentd/vendored_gem_src/aws-partitions/aws-partitions.gemspec index c48470b05..674fbee55 100644 --- a/fluentd/vendored_gem_src/aws-partitions/aws-partitions.gemspec +++ b/fluentd/vendored_gem_src/aws-partitions/aws-partitions.gemspec @@ -15,7 +15,7 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/aws/aws-sdk-ruby".freeze s.licenses = ["Apache-2.0".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Provides information about AWS partitions, regions, and services.".freeze end diff --git a/fluentd/vendored_gem_src/aws-sdk-cloudwatchlogs/aws-sdk-cloudwatchlogs.gemspec b/fluentd/vendored_gem_src/aws-sdk-cloudwatchlogs/aws-sdk-cloudwatchlogs.gemspec index fafcec3c9..230bcdab7 100644 --- a/fluentd/vendored_gem_src/aws-sdk-cloudwatchlogs/aws-sdk-cloudwatchlogs.gemspec +++ b/fluentd/vendored_gem_src/aws-sdk-cloudwatchlogs/aws-sdk-cloudwatchlogs.gemspec @@ -16,19 +16,16 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/aws/aws-sdk-ruby".freeze s.licenses = ["Apache-2.0".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "AWS SDK for Ruby - Amazon CloudWatch Logs".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 3", ">= 3.127.0"]) - s.add_runtime_dependency(%q.freeze, ["~> 1.1"]) - else - s.add_dependency(%q.freeze, ["~> 3", ">= 3.127.0"]) - s.add_dependency(%q.freeze, ["~> 1.1"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 3", ">= 3.127.0"]) + s.add_runtime_dependency(%q.freeze, ["~> 1.1"]) else s.add_dependency(%q.freeze, ["~> 3", ">= 3.127.0"]) s.add_dependency(%q.freeze, ["~> 1.1"]) diff --git a/fluentd/vendored_gem_src/aws-sdk-core/aws-sdk-core.gemspec b/fluentd/vendored_gem_src/aws-sdk-core/aws-sdk-core.gemspec index 7d95111dd..fa4745878 100644 --- a/fluentd/vendored_gem_src/aws-sdk-core/aws-sdk-core.gemspec +++ b/fluentd/vendored_gem_src/aws-sdk-core/aws-sdk-core.gemspec @@ -15,23 +15,18 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/aws/aws-sdk-ruby".freeze s.licenses = ["Apache-2.0".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "AWS SDK for Ruby - Core".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 1.0"]) - s.add_runtime_dependency(%q.freeze, ["~> 1", ">= 1.525.0"]) - s.add_runtime_dependency(%q.freeze, ["~> 1.1"]) - s.add_runtime_dependency(%q.freeze, ["~> 1", ">= 1.0.2"]) - else - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 1", ">= 1.525.0"]) - s.add_dependency(%q.freeze, ["~> 1.1"]) - s.add_dependency(%q.freeze, ["~> 1", ">= 1.0.2"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 1.0"]) + s.add_runtime_dependency(%q.freeze, ["~> 1", ">= 1.525.0"]) + s.add_runtime_dependency(%q.freeze, ["~> 1.1"]) + s.add_runtime_dependency(%q.freeze, ["~> 1", ">= 1.0.2"]) else s.add_dependency(%q.freeze, ["~> 1.0"]) s.add_dependency(%q.freeze, ["~> 1", ">= 1.525.0"]) diff --git a/fluentd/vendored_gem_src/aws-sigv4/aws-sigv4.gemspec b/fluentd/vendored_gem_src/aws-sigv4/aws-sigv4.gemspec index 2d3da4c04..4ecd37209 100644 --- a/fluentd/vendored_gem_src/aws-sigv4/aws-sigv4.gemspec +++ b/fluentd/vendored_gem_src/aws-sigv4/aws-sigv4.gemspec @@ -15,17 +15,15 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/aws/aws-sdk-ruby".freeze s.licenses = ["Apache-2.0".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "AWS Signature Version 4 library.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 1", ">= 1.0.2"]) - else - s.add_dependency(%q.freeze, ["~> 1", ">= 1.0.2"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 1", ">= 1.0.2"]) else s.add_dependency(%q.freeze, ["~> 1", ">= 1.0.2"]) end diff --git a/fluentd/vendored_gem_src/concurrent-ruby/concurrent-ruby.gemspec b/fluentd/vendored_gem_src/concurrent-ruby/concurrent-ruby.gemspec index 6fdf342a7..53bab59aa 100644 --- a/fluentd/vendored_gem_src/concurrent-ruby/concurrent-ruby.gemspec +++ b/fluentd/vendored_gem_src/concurrent-ruby/concurrent-ruby.gemspec @@ -17,7 +17,7 @@ Gem::Specification.new do |s| s.homepage = "http://www.concurrent-ruby.com".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Modern concurrency tools for Ruby. Inspired by Erlang, Clojure, Scala, Haskell, F#, C#, Java, and classic concurrency patterns.".freeze end diff --git a/fluentd/vendored_gem_src/console/console.gemspec b/fluentd/vendored_gem_src/console/console.gemspec index 4c24934eb..0eebcb6ff 100644 --- a/fluentd/vendored_gem_src/console/console.gemspec +++ b/fluentd/vendored_gem_src/console/console.gemspec @@ -14,27 +14,20 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/socketry/console".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Beautiful logging for Ruby.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 10.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 10.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 10.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) else s.add_dependency(%q.freeze, [">= 0"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/faraday-em_http/faraday-em_http.gemspec b/fluentd/vendored_gem_src/faraday-em_http/faraday-em_http.gemspec index 7be9329ed..8154b33d8 100644 --- a/fluentd/vendored_gem_src/faraday-em_http/faraday-em_http.gemspec +++ b/fluentd/vendored_gem_src/faraday-em_http/faraday-em_http.gemspec @@ -16,37 +16,25 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-em_http".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Faraday adapter for Em::Http".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 1.1"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 2.0"]) - s.add_development_dependency(%q.freeze, ["~> 13.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_development_dependency(%q.freeze, ["~> 3.4"]) - s.add_development_dependency(%q.freeze, ["~> 0.91.1"]) - s.add_development_dependency(%q.freeze, ["~> 0.5"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, [">= 1.1"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 2.0"]) - s.add_dependency(%q.freeze, ["~> 13.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_dependency(%q.freeze, ["~> 3.4"]) - s.add_dependency(%q.freeze, ["~> 0.91.1"]) - s.add_dependency(%q.freeze, ["~> 0.5"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 1.1"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 2.0"]) + s.add_development_dependency(%q.freeze, ["~> 13.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) + s.add_development_dependency(%q.freeze, ["~> 3.4"]) + s.add_development_dependency(%q.freeze, ["~> 0.91.1"]) + s.add_development_dependency(%q.freeze, ["~> 0.5"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, [">= 1.1"]) s.add_dependency(%q.freeze, ["~> 1.0"]) diff --git a/fluentd/vendored_gem_src/faraday-em_synchrony/faraday-em_synchrony.gemspec b/fluentd/vendored_gem_src/faraday-em_synchrony/faraday-em_synchrony.gemspec index 24fa22e67..1ddbee67c 100644 --- a/fluentd/vendored_gem_src/faraday-em_synchrony/faraday-em_synchrony.gemspec +++ b/fluentd/vendored_gem_src/faraday-em_synchrony/faraday-em_synchrony.gemspec @@ -16,41 +16,27 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-em_synchrony".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Faraday adapter for EM::Synchrony".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 1.1"]) - s.add_development_dependency(%q.freeze, [">= 1.0.3"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 2.0"]) - s.add_development_dependency(%q.freeze, ["~> 13.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_development_dependency(%q.freeze, ["~> 3.4"]) - s.add_development_dependency(%q.freeze, ["~> 0.91.1"]) - s.add_development_dependency(%q.freeze, ["~> 0.5"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, [">= 1.1"]) - s.add_dependency(%q.freeze, [">= 1.0.3"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 2.0"]) - s.add_dependency(%q.freeze, ["~> 13.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_dependency(%q.freeze, ["~> 3.4"]) - s.add_dependency(%q.freeze, ["~> 0.91.1"]) - s.add_dependency(%q.freeze, ["~> 0.5"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 1.1"]) + s.add_development_dependency(%q.freeze, [">= 1.0.3"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 2.0"]) + s.add_development_dependency(%q.freeze, ["~> 13.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) + s.add_development_dependency(%q.freeze, ["~> 3.4"]) + s.add_development_dependency(%q.freeze, ["~> 0.91.1"]) + s.add_development_dependency(%q.freeze, ["~> 0.5"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, [">= 1.1"]) s.add_dependency(%q.freeze, [">= 1.0.3"]) diff --git a/fluentd/vendored_gem_src/faraday-excon/faraday-excon.gemspec b/fluentd/vendored_gem_src/faraday-excon/faraday-excon.gemspec index a60390c75..b87f38cee 100644 --- a/fluentd/vendored_gem_src/faraday-excon/faraday-excon.gemspec +++ b/fluentd/vendored_gem_src/faraday-excon/faraday-excon.gemspec @@ -16,37 +16,25 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-excon".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Faraday adapter for Excon".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0.27.4"]) - s.add_development_dependency(%q.freeze, ["~> 2.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 13.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_development_dependency(%q.freeze, ["~> 3.4"]) - s.add_development_dependency(%q.freeze, ["~> 0.91.1"]) - s.add_development_dependency(%q.freeze, ["~> 0.5"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, [">= 0.27.4"]) - s.add_dependency(%q.freeze, ["~> 2.0"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 13.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_dependency(%q.freeze, ["~> 3.4"]) - s.add_dependency(%q.freeze, ["~> 0.91.1"]) - s.add_dependency(%q.freeze, ["~> 0.5"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0.27.4"]) + s.add_development_dependency(%q.freeze, ["~> 2.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 13.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) + s.add_development_dependency(%q.freeze, ["~> 3.4"]) + s.add_development_dependency(%q.freeze, ["~> 0.91.1"]) + s.add_development_dependency(%q.freeze, ["~> 0.5"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, [">= 0.27.4"]) s.add_dependency(%q.freeze, ["~> 2.0"]) diff --git a/fluentd/vendored_gem_src/faraday-httpclient/faraday-httpclient.gemspec b/fluentd/vendored_gem_src/faraday-httpclient/faraday-httpclient.gemspec index 7cc126fa4..faf27b53f 100644 --- a/fluentd/vendored_gem_src/faraday-httpclient/faraday-httpclient.gemspec +++ b/fluentd/vendored_gem_src/faraday-httpclient/faraday-httpclient.gemspec @@ -16,37 +16,25 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-httpclient".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Faraday adapter for HTTPClient".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, [">= 2.2"]) - s.add_development_dependency(%q.freeze, ["~> 2.0"]) - s.add_development_dependency(%q.freeze, ["~> 13.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_development_dependency(%q.freeze, ["~> 3.4"]) - s.add_development_dependency(%q.freeze, ["~> 1.12.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.5"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, [">= 2.2"]) - s.add_dependency(%q.freeze, ["~> 2.0"]) - s.add_dependency(%q.freeze, ["~> 13.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_dependency(%q.freeze, ["~> 3.4"]) - s.add_dependency(%q.freeze, ["~> 1.12.0"]) - s.add_dependency(%q.freeze, ["~> 0.5"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, [">= 2.2"]) + s.add_development_dependency(%q.freeze, ["~> 2.0"]) + s.add_development_dependency(%q.freeze, ["~> 13.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) + s.add_development_dependency(%q.freeze, ["~> 3.4"]) + s.add_development_dependency(%q.freeze, ["~> 1.12.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.5"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, ["~> 1.0"]) s.add_dependency(%q.freeze, [">= 2.2"]) diff --git a/fluentd/vendored_gem_src/faraday-multipart/faraday-multipart.gemspec b/fluentd/vendored_gem_src/faraday-multipart/faraday-multipart.gemspec index 508cf691d..cb8827936 100644 --- a/fluentd/vendored_gem_src/faraday-multipart/faraday-multipart.gemspec +++ b/fluentd/vendored_gem_src/faraday-multipart/faraday-multipart.gemspec @@ -16,17 +16,15 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-multipart".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new([">= 2.4".freeze, "< 4".freeze]) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Perform multipart-post requests using Faraday.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 1.2", "< 3"]) - else - s.add_dependency(%q.freeze, [">= 1.2", "< 3"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 1.2", "< 3"]) else s.add_dependency(%q.freeze, [">= 1.2", "< 3"]) end diff --git a/fluentd/vendored_gem_src/faraday-net_http/faraday-net_http.gemspec b/fluentd/vendored_gem_src/faraday-net_http/faraday-net_http.gemspec index 885cb44ac..fe89f6618 100644 --- a/fluentd/vendored_gem_src/faraday-net_http/faraday-net_http.gemspec +++ b/fluentd/vendored_gem_src/faraday-net_http/faraday-net_http.gemspec @@ -16,35 +16,24 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-net_http".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Faraday adapter for Net::HTTP".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 2.0"]) - s.add_development_dependency(%q.freeze, ["~> 13.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_development_dependency(%q.freeze, ["~> 3.4"]) - s.add_development_dependency(%q.freeze, ["~> 0.91.1"]) - s.add_development_dependency(%q.freeze, ["~> 0.5"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 2.0"]) - s.add_dependency(%q.freeze, ["~> 13.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_dependency(%q.freeze, ["~> 3.4"]) - s.add_dependency(%q.freeze, ["~> 0.91.1"]) - s.add_dependency(%q.freeze, ["~> 0.5"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 2.0"]) + s.add_development_dependency(%q.freeze, ["~> 13.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) + s.add_development_dependency(%q.freeze, ["~> 3.4"]) + s.add_development_dependency(%q.freeze, ["~> 0.91.1"]) + s.add_development_dependency(%q.freeze, ["~> 0.5"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, ["~> 1.0"]) s.add_dependency(%q.freeze, ["~> 2.0"]) diff --git a/fluentd/vendored_gem_src/faraday-net_http_persistent/faraday-net_http_persistent.gemspec b/fluentd/vendored_gem_src/faraday-net_http_persistent/faraday-net_http_persistent.gemspec index 9dfd3f59d..b9730a686 100644 --- a/fluentd/vendored_gem_src/faraday-net_http_persistent/faraday-net_http_persistent.gemspec +++ b/fluentd/vendored_gem_src/faraday-net_http_persistent/faraday-net_http_persistent.gemspec @@ -16,33 +16,23 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-net_http_persistent".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Faraday adapter for NetHttpPersistent".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 3.1"]) - s.add_development_dependency(%q.freeze, ["~> 2.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 13.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_development_dependency(%q.freeze, ["~> 3.4"]) - else - s.add_dependency(%q.freeze, [">= 3.1"]) - s.add_dependency(%q.freeze, ["~> 2.0"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 13.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_dependency(%q.freeze, ["~> 3.4"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 3.1"]) + s.add_development_dependency(%q.freeze, ["~> 2.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 13.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) + s.add_development_dependency(%q.freeze, ["~> 3.4"]) else s.add_dependency(%q.freeze, [">= 3.1"]) s.add_dependency(%q.freeze, ["~> 2.0"]) diff --git a/fluentd/vendored_gem_src/faraday-patron/faraday-patron.gemspec b/fluentd/vendored_gem_src/faraday-patron/faraday-patron.gemspec index 92bb12932..60e879dbe 100644 --- a/fluentd/vendored_gem_src/faraday-patron/faraday-patron.gemspec +++ b/fluentd/vendored_gem_src/faraday-patron/faraday-patron.gemspec @@ -16,37 +16,25 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-patron".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Faraday adapter for Patron".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, [">= 0.4.2"]) - s.add_development_dependency(%q.freeze, ["~> 2.0"]) - s.add_development_dependency(%q.freeze, ["~> 13.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_development_dependency(%q.freeze, ["~> 3.4"]) - s.add_development_dependency(%q.freeze, ["~> 1.12.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.5"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, [">= 0.4.2"]) - s.add_dependency(%q.freeze, ["~> 2.0"]) - s.add_dependency(%q.freeze, ["~> 13.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_dependency(%q.freeze, ["~> 3.4"]) - s.add_dependency(%q.freeze, ["~> 1.12.0"]) - s.add_dependency(%q.freeze, ["~> 0.5"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, [">= 0.4.2"]) + s.add_development_dependency(%q.freeze, ["~> 2.0"]) + s.add_development_dependency(%q.freeze, ["~> 13.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) + s.add_development_dependency(%q.freeze, ["~> 3.4"]) + s.add_development_dependency(%q.freeze, ["~> 1.12.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.5"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, ["~> 1.0"]) s.add_dependency(%q.freeze, [">= 0.4.2"]) diff --git a/fluentd/vendored_gem_src/faraday-rack/faraday-rack.gemspec b/fluentd/vendored_gem_src/faraday-rack/faraday-rack.gemspec index 675dda954..726353102 100644 --- a/fluentd/vendored_gem_src/faraday-rack/faraday-rack.gemspec +++ b/fluentd/vendored_gem_src/faraday-rack/faraday-rack.gemspec @@ -16,37 +16,25 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-rack".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Faraday adapter for Rack".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, [">= 0.6"]) - s.add_development_dependency(%q.freeze, ["~> 2.0"]) - s.add_development_dependency(%q.freeze, ["~> 13.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_development_dependency(%q.freeze, ["~> 3.4"]) - s.add_development_dependency(%q.freeze, ["~> 1.12.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.5"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, [">= 0.6"]) - s.add_dependency(%q.freeze, ["~> 2.0"]) - s.add_dependency(%q.freeze, ["~> 13.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 0.19.0"]) - s.add_dependency(%q.freeze, ["~> 0.1.1"]) - s.add_dependency(%q.freeze, ["~> 3.4"]) - s.add_dependency(%q.freeze, ["~> 1.12.0"]) - s.add_dependency(%q.freeze, ["~> 0.5"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, [">= 0.6"]) + s.add_development_dependency(%q.freeze, ["~> 2.0"]) + s.add_development_dependency(%q.freeze, ["~> 13.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.19.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.1.1"]) + s.add_development_dependency(%q.freeze, ["~> 3.4"]) + s.add_development_dependency(%q.freeze, ["~> 1.12.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.5"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, ["~> 1.0"]) s.add_dependency(%q.freeze, [">= 0.6"]) diff --git a/fluentd/vendored_gem_src/faraday-retry/faraday-retry.gemspec b/fluentd/vendored_gem_src/faraday-retry/faraday-retry.gemspec index 008f02e2f..66fc32696 100644 --- a/fluentd/vendored_gem_src/faraday-retry/faraday-retry.gemspec +++ b/fluentd/vendored_gem_src/faraday-retry/faraday-retry.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/lostisland/faraday-retry".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new([">= 2.4".freeze, "< 4".freeze]) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Catches exceptions and retries each request a limited number of times".freeze end diff --git a/fluentd/vendored_gem_src/faraday/faraday.gemspec b/fluentd/vendored_gem_src/faraday/faraday.gemspec index c4038b6966a42c39cd81186b000a7ae9d1591481..c0426855cc3ee7e3d2002957242287436c84a449 100644 GIT binary patch delta 159 zcmca$ami@IAt7c%J(I~th5Dow6jJk2xVRJ)GSd`_^@>u93-a?);!E=F6|5$I5EWxn zD9K38F=kh zU}uY|Lfuf$NY6lBQ=udyH4kXcWJ6Jn$veapCmV~ZP5v&d2Byu$<-v4|hzgiKBccqX z^(IS;N&)F$u-Gb51u*?iR1QoVh=KITP0kk6;8ajZ%_&X=nSN1R0c`qZaXGN*AR1&k xhz6MsqCuu#7Iy$*waMlZs$emY=^#0f=^z?p`eku3km;;I)ALd`PY^rA1OO!IS?2%% diff --git a/fluentd/vendored_gem_src/fiber-local/fiber-local.gemspec b/fluentd/vendored_gem_src/fiber-local/fiber-local.gemspec index b489bbfaf..dd93fd773 100644 --- a/fluentd/vendored_gem_src/fiber-local/fiber-local.gemspec +++ b/fluentd/vendored_gem_src/fiber-local/fiber-local.gemspec @@ -13,21 +13,17 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/socketry/fiber-local".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Provides a class-level mixin to make fiber local state easy.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) else s.add_dependency(%q.freeze, [">= 0"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/fluent-plugin-grafana-loki/fluent-plugin-grafana-loki.gemspec b/fluentd/vendored_gem_src/fluent-plugin-grafana-loki/fluent-plugin-grafana-loki.gemspec index 9d43da80d..a20d99e26 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-grafana-loki/fluent-plugin-grafana-loki.gemspec +++ b/fluentd/vendored_gem_src/fluent-plugin-grafana-loki/fluent-plugin-grafana-loki.gemspec @@ -14,29 +14,21 @@ Gem::Specification.new do |s| s.files = ["LICENSE".freeze, "README.md".freeze, "bin/console".freeze, "bin/setup".freeze, "bin/test".freeze, "lib/fluent/plugin/out_loki.rb".freeze] s.homepage = "https://github.com/grafana/loki/".freeze s.licenses = ["Apache-2.0".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Output plugin to ship logs to a Grafana Loki server".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 1.9.3", "< 2"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 12.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - else - s.add_dependency(%q.freeze, [">= 1.9.3", "< 2"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 12.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 1.9.3", "< 2"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 12.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) else s.add_dependency(%q.freeze, [">= 1.9.3", "< 2"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/Gemfile.lock b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/Gemfile.lock index ccb8e76e5..3085c085c 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/Gemfile.lock +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/Gemfile.lock @@ -1,8 +1,8 @@ PATH remote: . specs: - fluent-plugin-kubernetes_metadata_filter (2.10.0) - fluentd (>= 0.14.0, < 1.15) + fluent-plugin-kubernetes_metadata_filter (3.0.1) + fluentd (>= 0.14.0, < 1.16) kubeclient (>= 4.0.0, < 5.0.0) lru_redux @@ -25,28 +25,28 @@ GEM docile (1.4.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - escape_utils (1.2.1) + escape_utils (1.2.2) ffi (1.15.5) ffi-compiler (1.0.1) ffi (>= 1.0.0) rake - fluentd (1.14.6) + fluentd (1.15.0) bundler cool.io (>= 1.4.5, < 2.0.0) http_parser.rb (>= 0.5.1, < 0.9.0) msgpack (>= 1.3.1, < 2.0.0) - serverengine (>= 2.2.5, < 3.0.0) + serverengine (>= 2.3.0, < 3.0.0) sigdump (~> 0.2.2) strptime (>= 0.2.4, < 1.0.0) tzinfo (>= 1.0, < 3.0) tzinfo-data (~> 1.0) webrick (>= 1.4.2, < 1.8.0) yajl-ruby (~> 1.0) - github-linguist (7.17.0) + github-linguist (7.21.0) charlock_holmes (~> 0.7.7) escape_utils (~> 1.2.0) mini_mime (~> 1.0) - rugged (>= 0.25.1) + rugged (~> 1.0) hashdiff (1.0.1) http (4.4.1) addressable (~> 2.3) @@ -54,13 +54,13 @@ GEM http-form_data (~> 2.2) http-parser (~> 1.2.0) http-accept (1.7.0) - http-cookie (1.0.4) + http-cookie (1.0.5) domain_name (~> 0.5) http-form_data (2.3.0) http-parser (1.2.3) ffi-compiler (>= 1.0, < 2.0) http_parser.rb (0.8.0) - jsonpath (1.1.0) + jsonpath (1.1.2) multi_json kubeclient (4.9.3) http (>= 3.0, < 5.0) @@ -73,39 +73,39 @@ GEM mime-types-data (3.2022.0105) mini_mime (1.1.2) minitest (4.7.5) - msgpack (1.5.1) + msgpack (1.5.3) multi_json (1.15.0) netrc (0.11.0) - parallel (1.21.0) - parser (3.0.2.0) + parallel (1.22.1) + parser (3.1.2.0) ast (~> 2.4.1) power_assert (2.0.1) - public_suffix (4.0.6) - rainbow (3.0.0) + public_suffix (4.0.7) + rainbow (3.1.1) rake (13.0.6) recursive-open-struct (1.1.3) - regexp_parser (2.1.1) + regexp_parser (2.5.0) rest-client (2.1.0) http-accept (>= 1.7.0, < 2.0) http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) rexml (3.2.5) - rr (3.0.8) - rubocop (1.22.3) + rr (3.0.9) + rubocop (1.28.2) parallel (~> 1.10) - parser (>= 3.0.0.0) + parser (>= 3.1.0.0) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml - rubocop-ast (>= 1.12.0, < 2.0) + rubocop-ast (>= 1.17.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.12.0) - parser (>= 3.0.1.1) + rubocop-ast (1.17.0) + parser (>= 3.1.1.0) ruby-progressbar (1.11.0) - rugged (1.2.0) - serverengine (2.2.5) + rugged (1.4.3) + serverengine (2.3.0) sigdump (~> 0.2.2) sigdump (0.2.4) simplecov (0.21.2) @@ -113,28 +113,28 @@ GEM simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) - simplecov_json_formatter (0.1.3) + simplecov_json_formatter (0.1.4) strptime (0.2.5) test-unit (3.0.9) power_assert test-unit-rr (1.0.5) rr (>= 1.1.1) test-unit (>= 2.5.2) - tzinfo (2.0.4) + tzinfo (2.0.5) concurrent-ruby (~> 1.0) tzinfo-data (1.2022.1) tzinfo (>= 1.0.0) unf (0.1.4) unf_ext - unf_ext (0.0.8.1) - unicode-display_width (2.1.0) + unf_ext (0.0.8.2) + unicode-display_width (2.2.0) vcr (6.0.0) webmock (3.14.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) webrick (1.7.0) - yajl-ruby (1.4.2) + yajl-ruby (1.4.3) PLATFORMS ruby @@ -155,4 +155,4 @@ DEPENDENCIES yajl-ruby BUNDLED WITH - 2.3.4 + 2.3.16 diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/README.md b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/README.md index 5c1c27065..3e016b8e0 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/README.md +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/README.md @@ -7,8 +7,7 @@ The Kubernetes metadata plugin filter enriches container log records with pod and namespace metadata. -This plugin derives basic metadata about the container that emitted a given log record using the source of the log record. Records from journald provide metadata about the -container environment as named fields. Records from JSON files encode metadata about the container in the file name. The initial metadata derived from the source is used +This plugin derives basic metadata about the container that emitted a given log record using the source of the log record. Records from kubernetes containers encode metadata about the container in the file name. The initial metadata derived from the source is used to lookup additional metadata about the container's associated pod and namespace (e.g. UUIDs, labels, annotations) when the kubernetes_url is configured. If the plugin cannot authoritatively determine the namespace of the container emitting a log record, it will use an 'orphan' namespace ID in the metadata. This behaviors supports multi-tenant systems that rely on the authenticity of the namespace for proper log isolation. @@ -46,14 +45,6 @@ This must use named capture groups for `container_name`, `pod_name`, `namespace` * `cache_size` - size of the cache of Kubernetes metadata to reduce requests to the API server (default: `1000`) * `cache_ttl` - TTL in seconds of each cached element. Set to negative value to disable TTL eviction (default: `3600` - 1 hour) * `watch` - set up a watch on pods on the API server for updates to metadata (default: `true`) -* *DEPRECATED*`de_dot` - replace dots in labels and annotations with configured `de_dot_separator`, required for Datadog and ElasticSearch 2.x compatibility (default: `true`) -* *DEPRECATED*`de_dot_separator` - separator to use if `de_dot` is enabled (default: `_`) -* *DEPRECATED*`de_slash` - replace slashes in labels and annotations with configured `de_slash_separator`, required for Datadog compatibility (default: `false`) -* *DEPRECATED*`de_slash_separator` - separator to use if `de_slash` is enabled (default: `__`) -* *DEPRECATED* `use_journal` - If false, messages are expected to be formatted and tagged as if read by the fluentd in\_tail plugin with wildcard filename. If true, messages are expected to be formatted as if read from the systemd journal. The `MESSAGE` field has the full message. The `CONTAINER_NAME` field has the encoded k8s metadata (see below). The `CONTAINER_ID_FULL` field has the full container uuid. This requires docker to use the `--log-driver=journald` log driver. If unset (the default), the plugin will use the `CONTAINER_NAME` and `CONTAINER_ID_FULL` fields -if available, otherwise, will use the tag in the `tag_to_kubernetes_name_regexp` format. -* `container_name_to_kubernetes_regexp` - The regular expression used to extract the k8s metadata encoded in the journal `CONTAINER_NAME` field default: See [code](https://github.com/fabric8io/fluent-plugin-kubernetes_metadata_filter/blob/master/lib/fluent/plugin/filter_kubernetes_metadata.rb#L68) - * This corresponds to the definition [in the source](https://github.com/kubernetes/kubernetes/blob/release-1.6/pkg/kubelet/dockertools/docker.go#L317) * `annotation_match` - Array of regular expressions matching annotation field names. Matched annotations are added to a log record. * `allow_orphans` - Modify the namespace and namespace id to the values of `orphaned_namespace_name` and `orphaned_namespace_id` when true (default: `true`) @@ -67,10 +58,11 @@ when true (default: `true`) * `skip_container_metadata` - Skip some of the container data of the metadata. The metadata will not contain the container_image and container_image_id fields. * `skip_master_url` - Skip the master_url field from the metadata. * `skip_namespace_metadata` - Skip the namespace_id field from the metadata. The fetch_namespace_metadata function will be skipped. The plugin will be faster and cpu consumption will be less. +* `stats_interval` - The interval to display cache stats (default: 30s). Set to 0 to disable stats collection and logging * `watch_retry_interval` - The time interval in seconds for retry backoffs when watch connections fail. (default: `10`) -Reading from the JSON formatted log files with `in_tail` and wildcard filenames while respecting the CRI-o log format with the same config you need the fluent-plugin "multi-format-parser": +Reading from a JSON formatted log files with `in_tail` and wildcard filenames while respecting the CRI-o log format with the same config you need the fluent-plugin "multi-format-parser": ``` fluent-gem install fluent-plugin-multi-format-parser @@ -111,35 +103,6 @@ The config block could look like this: ``` -Reading from the systemd journal (requires the fluentd `fluent-plugin-systemd` and `systemd-journal` plugins, and requires docker to use the `--log-driver=journald` log driver): -``` - - @type systemd - path /run/log/journal - pos_file journal.pos - tag journal - read_from_head true - - -# probably want to use something like fluent-plugin-rewrite-tag-filter to -# retag entries from k8s - - @type rewrite_tag_filter - rewriterule1 CONTAINER_NAME ^k8s_ kubernetes.journal.container - ... - - - - @type kubernetes_metadata - use_journal true - - - - @type stdout - -``` - - ## Environment variables for Kubernetes If the name of the Kubernetes node the plugin is running on is set as @@ -199,18 +162,6 @@ Then output becomes as belows } ``` -If using journal input, from docker configured with `--log-driver=journald`, the input looks like the `journalctl -o export` format: -``` -# The stream identification is encoded into the PRIORITY field as an -# integer: 6, or github.com/coreos/go-systemd/journal.Info, marks stdout, -# while 3, or github.com/coreos/go-systemd/journal.Err, marks stderr. -PRIORITY=6 -CONTAINER_ID=b6cbb6e73c0a -CONTAINER_ID_FULL=b6cbb6e73c0ad63ab820e4baa97cdc77cec729930e38a714826764ac0491341a -CONTAINER_NAME=k8s_registry.a49f5318_docker-registry-1-hhoj0_default_ae3a9bdc-1f66-11e6-80a2-fa163e2fff3a_799e4035 -MESSAGE=172.17.0.1 - - [21/May/2016:16:52:05 +0000] "GET /healthz HTTP/1.1" 200 0 "" "Go-http-client/1.1" -``` - ## Contributing 1. Fork it diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/cpu.png b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..4313e2899a91af62d63a6f4d36bcaa1e94c554da GIT binary patch literal 9056 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 literal 0 HcmV?d00001 diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/loss.png b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/loss.png new file mode 100644 index 0000000000000000000000000000000000000000..17dbd5438e7f481ac5b72674ea05c989299e4e37 GIT binary patch literal 6559 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 DcN_Eh literal 0 HcmV?d00001 diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/mem.png b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/mem.png new file mode 100644 index 0000000000000000000000000000000000000000..404ad5d01d55f50821f2455331a8968ed2c0f7b7 GIT binary patch literal 9547 zcmcIq30xCd(ywm9rJUjcawIB(Ix454AP{eKMW5*+N- zDo&U_0RR-&*{u2ofJFS10y!z->)5V#YXHR9VZ)}?IF1u785tRpFD3wnGXV!apGk#B zk6`(pUvMS`Fe($n4c)Os04fGJhR5MAFVCAtbft1?h{!~1Jc)Q~nK{%6%6ZYWDs=~Bh zyf>qusthlyV&=x+)C`<*@7}%A(o$<{YciRfo}TXJ=GNNUI#tr=5E8u5L>T1SlWxqhlWWj5iI2M>f+9sTyrq3dct zEGi6loLsBaCJj;h+}N|X&A@g&wA|i|E14mN0(ON-Ad(fD z9`HS!=&Umw5q(=Oh7BF&Y5S&O>~&E6JiFfYMvqgV@J{E+u7`M%MbxsZ&DZL#rQRIK z9&NAWFROLhFL*1E!sZV=d1c8`3|H1%r0&S5vb^I}!xPbUu6f3jpLIX0wfD?o*-AmR zF~9TukT`N;E59>A#ko&|96lb0xE;e*(oohLw+8I8y@|)rHb11IO1NjrFZiPQ;uv!z1;)>@%={G$> z#&kJwINNM-z}a~K@j@fqpItT=ada&tt{mN9*@yn!md6+~D697Se+xW_IETUr4M9hy)T z*Gp?5L6)mvF#L3?0Wipo^qX%P?>e$4aJi|=4LWXKsSq_gLO>4kGJy|Sa$vZW*T>7e zWd_a11bcdvT%e#KBF`zmG{HKpeKPh`45yr5j09Vvu*pEovYOyZ=DOZMZa`y#H`xM4Z1)bpjT&F@7b7|2!6_}=86xp z5wluo_eTegSr*>v2(aMYRd&}Xw0crRuz(@Vj}FWFh5}Tbez)N%{wNIJ-7(}575Bbp zHxba)15eeC$0Y$s&jM;0;ZQ>qCLbL?Rbu6ED-G-e8%M0Fhe~}$M$&j27{}dO!wvu} z-JOJIyV|8c3$bdgJFH29M+gEF)&RC&6*AmOFh~7AJQc9u&Vh6Ij<$P_O(U9_UNzS& zMtv(tP$YN-cecARpg+ulA5)j4ALji~Mr#5UFyG^f%-u@NWx?u>h9%4Eo*yU4&DMvu z0`eWpcGoqQlPD*Xq3EkodPrarO_w@H6?u2^1yAH=snw#@V}m)&L>;Ok&`H2CS%GqH zjz$Nfl{>XmlHWEUhwqY=k$0vMD4ISgOc5ipR<)cQvnKUP=rUC~5i3NBLj*K`ur%sS zc!|bjduf@UEzRINIS4xTSy=yq^4~jMh}K;1+1|Q$0=3rE014{2_V#p-3Q%PK3y6Qg zdDV(ki#eX%@{YcjWutF9ol1(;rCzU)$>0q&NoUmh*ZDAbF2X~P)}n8s{9sK8_=x}E zWQl;)YznAdBvNk7`t=YMq3C|sjPfA`emY2E7Ky>fqepScWDKC;ASuI|-aqjpZ&LDK3)-2f05e{`bKDI6VIMeY@`>yJasQ zwcO!zqn~4^v^7jmkOH@KG_eA%?=;M=&?!6L@~VZ&VvYl#ur2y`_+y<0YBe`$j}U;O zsG(7KvvO@62#vc4_%D$%3L7A_qeV+{bp`5vMGXBxQ6bl7AuHtNshLej0MbvWVr4B* zR3vZskrNmr)x?4xue(hu>$L1>q`HdeDB*(Uq>cnCb8VU?L^$p&uFGN1jh4;$au`sY z+ltic1WrEZMyB~&W?S5{s5W-T@3kM8K|+$b{q0NrhC;yg8T))o6pg%#0((_~HS<3> zevr**Y>8f0&5!nIK_f7W>RfY2h#GKrQ27`V1vFsUTAyPF; z>(91b{dSAFASLYxaOypzYQkeJ1I4_T+YT13jhauGO(e@KSD^*cyKfg<`QEPHIpV9J zuUYKWTj%rl4RXql4$QWb!?qDpI|g!)C8Ie}A^U+fiC9a@O= zM7!iY=G5FXpb!6&^XI7%J!m$TCG|%M>EV%``$d2~=5<#HTbbVA&?{gPtfH$wYGq zaqY{q;J?W)QhamlGK2yr9!+El6q~NM7S-`xLfGn6T-kl6ZGp%! zBm!0iJ@`fvDu!pkW;MYqCJ{>#E+B-rHvKOJY_zbq?H(s)08XS1KzjrJ8Tv!U(5L6( zMJP%Io$r73(Y1IPrf_>9Z92(4>KKp+@?cP`Ip$0uvf1F!z#QKRr>et7UTU^>`X|g4 zS|gElM0y^heD~wuaDd(oB;nMoC{7i)w#i^6Agj+(H zRaRpeniype*&K*2;SUVhSh>81jd=-^KUHd%LX6vko2(IM;e-B6F`E>M#-ptkXNid(%oyE6jA<24;bE zuPhQd_*3uD!}4f1nxANK=a9S#MwX_$em9ZC8H>$-E82YQ4CI+yKa>jh|BcA}nEs!H z?j&`r4|=k>jjk1?m3ly;&L_tGd(l6%56-dAWPoXhc2{aKZc2Dsq=IaAn}jtqx=Fj2 zaO9ZnpS7@SHZ)jdn%}z|C69GTxgK8wT;l=ZE&veF)(X%i*TMq-tY1Cb1$=?c|sPt6y)CK}0k|+{(&r?8qMCLPWC8X${&9bKyXjP`g5EZg( zWBQSpORY1YVOoN>28kmst5#;_7T><`msS!*pTsn|yCtqgY}!l z$7g^s+B>Spoc|Ds!$7xxC}9#dc1QEZj*9lGq8!cPW~hu*??n-t!yuBewt{7oT;uA)(?185M7M&htv$TQ<+g8bBV1Unz? zMtg}W=o3Z%gC>W5@N<(Rd@@G6Ni!j>Oj3_gW}qC64U!7)Z#2nE^?FT3im1Q$QI=;0 zr_T4iS&*-aJ^ET7@C4A^tcwt-^P)VnLyo$FpwJoE^*!jWf@MTZe492MYde(gT%6`P zkxB0lYrE0Ps;FL4MQ>t#cl|UHC5X-aAjdTRXt>YJFy6G83Qcxb%U-EH zdC{44QfJ(M*4Dr)65D2GI_h<%5XIn_Qt4!DPmiXP8d2L9^27F#+%<-WA*<}(OKrl8 z2(Hy|I&3Nd=hhQ2hML2I zS((vNFSI&k$F(6=q+DgGuBgrAkvySHH?aw@k9qLdOBIMs0htljoQ|rD*sN2P(A+y0 zBX*QG@}iEU5_cFo*(8oW2>UOp~^~H~4Dd0C?Nt}?+O#Qtqg?+9=S_SL-LWrZu4#S{jZQlOpFk=#7 zc2^nAy{8L5ajixP50fZnpBepMG)1w?NyOdCAME}s9o?+%p1EkCicS0%1O2U_R90l( zKHXs!V32Lr{7js5lHkkd1LyNu>obWgYfIXBj$Nfe;ee@a-)%kvy7ew^H%E$IhObwA zm}Y$7+Y9R=F7@kZVeF3FlIty_tdU^QISSi+E7*bN{`OtZj*e}5Ng`jg2o3UY60fOq zs{4u|Mti;L-QBuwUOUw3gGHZxZDZX_^!MxJvBhm_7_sY^x@93eS)FmM zt2_uz-kCz;RLC*&2lX&T=E?nAc|9Zw%q0>ejp!62*~~;K>PX~8-pQN11#vyZ%}%A1 z-YVeC(u2nW5B+vKYW2+zrSH39JB5=F(NZJi%<9%tYw}m<$ml}kYPgx7e|4*+^;FTY zKB@}EGa>Nh)=rwar_6vT6IGKm5JmH)t#7zxg%Qq-26-yUUV&*r;-Cnoj6A|^HpZx6 z*~%0^Rk7jYlcj%aRRNL8ml~?M->ZiaUiw7%fd^V+niJ;|9UYM$JrcyPl~o}MOA0<~ z_4~uXAu{Ob+9Ugc84qvbF3pjHnEzJ8(0T9jw8HnJ>-xDar$X%TM(bI)C?@*Ra`<5V zqGK2VSBWkCcRP0m*2gK|*@?HI64TRXf!wMw5xH^m`|qxVD^JsanJCe)+E&=WNFQ;O zd4&^;gk+>7Bx~nrzW1XQA9Y%ajvE=vk9nMj2Y&~{bt&iW6GKWSCF!mtgeN5{NG7Bj zOTa)L|ECuSvfSy4ie9nBoSlM|5_MX>kD=3zsOTrUmXmtd5?qU#e#HWXTXM`rD7+_* z7c*1gh9dT@;KxmC(NQ^qZFTFfcG@wUj^@0R+_)2rZ0Np#dC}E^c5b@RWy2&B6_t5O z$(`;JgfXjXrjCkekr85(OJ*O+X|Mo$KS5q=x^Q6 zl9x-7V`_38zpG-FV=4&*mbw%TG#O99c1b*r5@qcmS>EQ*KfiF+KR$`|)J6_4@~2Nd z{`cFuN5A-3AUCV|_89(86x!zgz_-z_oN6Ne>8Y0>%jv*XAJ2&yW1GELX3W&e(b`7k z?Tho)4w!C;7|S6}1i0S6%7^DGGc$N|g~kt3p8fXlFy(ozEmptUU48{8rKMDyt!%f{ z;*W=tqZ_h++#7)?2#xLnjK&4bY*ok z1{?6h&lgz!px0ISc#lBHwdx9W$=_;U(J3rdscE?E>w-)pO?r08JbHL}nzeJ4A! zQMEqS^zvn=0NRabZQag8rRnpEs;sm;t&K*zv$!pX9=Hkj2n0SS8`lVbA4st8hlj;Q z)ximO144%RiFAH#w;Wes*r#p}KDe90V2oh&p)s{P_C#2^SH)K0cUuBj z+EO)h7qv`!kC$Q9-qo3`*>~)YT3dXepWZRIKK2YTQuxD#u(6(}O^oC3-@U-?hu0EZ z==|XLf-8j{Z8>67ix>3c^!Bu@KGTT6a_6;My?g8)&<_^p-5^k5Z=4p(7F(!iALgdf zR{1s5wq0+wFz>p}zBBOc#{NWc=+{O~^nw1{E;Oyx+l6}yrtDzLmPf4~3OiSl_P#3Y zn7<&GVKVDkm@eMUlMD88ews0FlrGFGbS_Qj@s~6a+sE{giyjNbxlLV5rwRLA1{iF$ zFv3^C^|20t(`tNy-ot;K72)3)tML!k*L#hc6AJjAoAaxV6!6Qtd38PBg-_j*_pnnv zu8VhuR(e*~+n(dRwvwj2pvSlA9i#KhreOvRvE~jX7CeSbFMiz2FOORuzc%vxo4o~U zzHDypI#w9jJ22B`eaLWVj%IeXx%H7KPZk2dN3qFTzpxJDqmE4XN$^>!WX>$+x%=#3ifrn8VmV tM7Alz8@duEUOU@obgulLw8dmavhMUD={NTJI+EsftL;|ZT;aa|{{TXL4!ZyV literal 0 HcmV?d00001 diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/readme.md b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/readme.md new file mode 100755 index 000000000..14b7e0bdc --- /dev/null +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/readme.md @@ -0,0 +1,88 @@ + +# collector Functionl Benchmark Results +## Options +* Image: quay.io/openshift-logging/fluentd:1.14.6 +* Total Log Stressors: 1 +* Lines Per Second: 2500 +* Run Duration: 5m +* Payload Source: synthetic + +## Latency of logs collected based on the time the log was generated and ingested + +Total Msg| Size | Elapsed (s) | Mean (s)| Min(s) | Max (s)| Median (s) +---------|------|-------------|---------|--------|--------|--- +705733|256|5m0s|16.929|1.826|36.399|14.956 + +![](cpu.png) + +![](mem.png) + +![](latency.png) + +![](loss.png) + +## Percent logs lost between first and last collected sequence ids +Stream | Min Seq | Max Seq | Purged | Collected | Percent Collected | +-------| ---------| --------| -------|-----------|--------------| +| functional.0.0000000000000000DBCED7977B8F643F|0|716850|0|705733|98.4% + + +## Config + +``` + + + log_level debug + + + + @type tail + @id container-input + path /var/log/pods/testhack-clwn63sc_*/loader-*/* + exclude_path ["/var/log/pods/**/*/*.gz","/var/log/pods/**/*/*.tmp"] + pos_file "/var/lib/fluentd/pos/containers-app" + refresh_interval 5 + rotate_wait 5 + tag kubernetes.* + read_from_head "true" + + @type regexp + expression /^(?<@timestamp>[^\s]+) (?stdout|stderr) (?[F|P]) (?.*)$/ + time_format '%Y-%m-%dT%H:%M:%S.%N%:z' + keep_time_key true + + + + + @type concat + key message + partial_key logtag + partial_value P + separator '' + + + + @type forward + heartbeat_type none + keepalive true + + + flush_mode interval + flush_interval 5s + flush_at_shutdown true + flush_thread_count 2 + retry_type exponential_backoff + retry_wait 1s + retry_max_interval 60s + retry_forever true + overflow_action block + + + + host 0.0.0.0 + port 24224 + + + +``` + diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/results.html b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/results.html new file mode 100755 index 000000000..bba96010f --- /dev/null +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-baseline-01/results.html @@ -0,0 +1,127 @@ + + +
+
Options
+
Image: quay.io/openshift-logging/fluentd:1.14.6
+
Total Log Stressors: 1
+
Lines Per Second: 2500
+
Run Duration: 5m
+
Payload Source: synthetic
+
+
+ Latency of logs collected based on the time the log was generated and ingested +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TotalSizeElapsedMeanMinMaxMedian
Msg(s)(s)(s)(s)(s)
7057332565m0s16.9291.82636.39914.956
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + +
StreamMin SeqMax SeqPurgedCollectedPercent Collected
functional.0.0000000000000000DBCED7977B8F643F0716850070573398.4%
+
+
+ + +<system> + log_level debug +</system> + +<source> + @type tail + @id container-input + path /var/log/pods/testhack-clwn63sc_*/loader-*/* + exclude_path ["/var/log/pods/**/*/*.gz","/var/log/pods/**/*/*.tmp"] + pos_file "/var/lib/fluentd/pos/containers-app" + refresh_interval 5 + rotate_wait 5 + tag kubernetes.* + read_from_head "true" + <parse> + @type regexp + expression /^(?<@timestamp>[^\s]+) (?<stream>stdout|stderr) (?<logtag>[F|P]) (?<message>.*)$/ + time_format '%Y-%m-%dT%H:%M:%S.%N%:z' + keep_time_key true + </parse> +</source> + +<filter kubernetes.**> + @type concat + key message + partial_key logtag + partial_value P + separator '' +</filter> + +<match **> + @type forward + heartbeat_type none + keepalive true + + <buffer> + flush_mode interval + flush_interval 5s + flush_at_shutdown true + flush_thread_count 2 + retry_type exponential_backoff + retry_wait 1s + retry_max_interval 60s + retry_forever true + overflow_action block + </buffer> + + <server> + host 0.0.0.0 + port 24224 + </server> +</match> + + +
+ diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/cpu.png b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..4a589d71824d2ee71176f0c13083743823501003 GIT binary patch literal 9500 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 literal 0 HcmV?d00001 diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/loss.png b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/loss.png new file mode 100644 index 0000000000000000000000000000000000000000..968fa34bbdb9a0844a399f55c77aa6f715122f19 GIT binary patch literal 4826 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 V+4lQyOW(f=969LjT(v(a`(J`E{UiVY literal 0 HcmV?d00001 diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/mem.png b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/mem.png new file mode 100644 index 0000000000000000000000000000000000000000..681b926669d789444b5d9b05ae4b6381c6f9d70c GIT binary patch literal 7759 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 +log_level debug + + + + @type tail + @id container-input + path /var/log/pods/testhack-cyvquhgi_*/loader-*/* + exclude_path ["/var/log/pods/**/*/*.gz","/var/log/pods/**/*/*.tmp"] + pos_file "/var/lib/fluentd/pos/containers-app" + refresh_interval 5 + rotate_wait 5 + tag kubernetes.* + read_from_head "true" + + @type regexp + expression /^(?<@timestamp>[^\s]+) (?stdout|stderr) (?[F|P]) (?.*)$/ + time_format '%Y-%m-%dT%H:%M:%S.%N%:z' + keep_time_key true + + + + + @type concat + key message + partial_key logtag + partial_value P + separator '' + + + + @id kubernetes-metadata + @type kubernetes_metadata + kubernetes_url 'https://kubernetes.default.svc' + annotation_match ["^containerType\.logging\.openshift\.io\/.*$"] + allow_orphans false + cache_size '1000' + use_journal 'nil' + ssl_partial_chain 'true' + + + + @type forward + heartbeat_type none + keepalive true + + + flush_mode interval + flush_interval 5s + flush_at_shutdown true + flush_thread_count 2 + retry_type exponential_backoff + retry_wait 1s + retry_max_interval 60s + retry_forever true + overflow_action block + + + + host 0.0.0.0 + port 24224 + + +``` + diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/results.html b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/results.html new file mode 100755 index 000000000..070f2a9dd --- /dev/null +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-01/results.html @@ -0,0 +1,136 @@ + + +
+
Options
+
Image: quay.io/openshift-logging/fluentd:1.14.6
+
Total Log Stressors: 1
+
Lines Per Second: 2500
+
Run Duration: 5m
+
Payload Source: synthetic
+
+
+ Latency of logs collected based on the time the log was generated and ingested +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TotalSizeElapsedMeanMinMaxMedian
Msg(s)(s)(s)(s)(s)
6065422565m0s32.7791.29575.39031.641
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + +
StreamMin SeqMax SeqPurgedCollectedPercent Collected
loader-006065410606542100.0%
+
+
+ + <system> +log_level debug +</system> + +<source> + @type tail + @id container-input + path /var/log/pods/testhack-cyvquhgi_*/loader-*/* + exclude_path ["/var/log/pods/**/*/*.gz","/var/log/pods/**/*/*.tmp"] + pos_file "/var/lib/fluentd/pos/containers-app" + refresh_interval 5 + rotate_wait 5 + tag kubernetes.* + read_from_head "true" + <parse> + @type regexp + expression /^(?<@timestamp>[^\s]+) (?<stream>stdout|stderr) (?<logtag>[F|P]) (?<message>.*)$/ + time_format '%Y-%m-%dT%H:%M:%S.%N%:z' + keep_time_key true + </parse> +</source> + +<filter kubernetes.**> + @type concat + key message + partial_key logtag + partial_value P + separator '' +</filter> + +<filter kubernetes.**> + @id kubernetes-metadata + @type kubernetes_metadata + kubernetes_url 'https://kubernetes.default.svc' + annotation_match ["^containerType\.logging\.openshift\.io\/.*$"] + allow_orphans false + cache_size '1000' + use_journal 'nil' + ssl_partial_chain 'true' +</filter> + +<match **> + @type forward + heartbeat_type none + keepalive true + + <buffer> + flush_mode interval + flush_interval 5s + flush_at_shutdown true + flush_thread_count 2 + retry_type exponential_backoff + retry_wait 1s + retry_max_interval 60s + retry_forever true + overflow_action block + </buffer> + + <server> + host 0.0.0.0 + port 24224 + </server> +</match> + +
+ diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/cpu.png b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..93aa4b98b15ea2b579d705eb828074001e555165 GIT binary patch literal 8604 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 literal 0 HcmV?d00001 diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/latency.png b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/latency.png new file mode 100644 index 0000000000000000000000000000000000000000..41850a5e57358b2ddc8ff1b50b69155baa8ba4d0 GIT binary patch literal 13830 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 ZwObQ*uNW?-PqLa0?KjeUy^nh3e*j2g_2mEn literal 0 HcmV?d00001 diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/loss.png b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/loss.png new file mode 100644 index 0000000000000000000000000000000000000000..3d36ff4698a1e03f63f9a342f4a2df34dc94a16f GIT binary patch literal 4918 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 V#gn^_Wj~DrI~#|k=~iBQ{tN!m-BJJm literal 0 HcmV?d00001 diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/readme.md b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/readme.md new file mode 100755 index 000000000..975b74a4a --- /dev/null +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/readme.md @@ -0,0 +1,97 @@ + +# collector Functionl Benchmark Results +## Options +* Image: quay.io/jcantril/fluentd:marshal +* Total Log Stressors: 1 +* Lines Per Second: 2500 +* Run Duration: 5m +* Payload Source: synthetic + +## Latency of logs collected based on the time the log was generated and ingested + +Total Msg| Size | Elapsed (s) | Mean (s)| Min(s) | Max (s)| Median (s) +---------|------|-------------|---------|--------|--------|--- +722919|256|5m0s|14.322|1.077|32.992|13.513 + +![](cpu.png) + +![](mem.png) + +![](latency.png) + +![](loss.png) + +## Percent logs lost between first and last collected sequence ids +Stream | Min Seq | Max Seq | Purged | Collected | Percent Collected | +-------| ---------| --------| -------|-----------|--------------| +| loader-0|0|722918|0|722919|100.0% + + +## Config + +``` + +log_level debug + + + + @type tail + @id container-input + path /var/log/pods/testhack-ksowqntt_*/loader-*/* + exclude_path ["/var/log/pods/**/*/*.gz","/var/log/pods/**/*/*.tmp"] + pos_file "/var/lib/fluentd/pos/containers-app" + refresh_interval 5 + rotate_wait 5 + tag kubernetes.* + read_from_head "true" + + @type regexp + expression /^(?<@timestamp>[^\s]+) (?stdout|stderr) (?[F|P]) (?.*)$/ + time_format '%Y-%m-%dT%H:%M:%S.%N%:z' + keep_time_key true + + + + + @type concat + key message + partial_key logtag + partial_value P + separator '' + + + + @id kubernetes-metadata + @type kubernetes_metadata + kubernetes_url 'https://kubernetes.default.svc' + annotation_match ["^containerType\.logging\.openshift\.io\/.*$"] + allow_orphans false + cache_size '1000' + use_journal 'nil' + ssl_partial_chain 'true' + + + + @type forward + heartbeat_type none + keepalive true + + + flush_mode interval + flush_interval 5s + flush_at_shutdown true + flush_thread_count 2 + retry_type exponential_backoff + retry_wait 1s + retry_max_interval 60s + retry_forever true + overflow_action block + + + + host 0.0.0.0 + port 24224 + + +``` + diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/results.html b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/results.html new file mode 100755 index 000000000..a38b34b5c --- /dev/null +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/doc/benchmark/5m-1-2500lps-256b-kube-01-marshal-02/results.html @@ -0,0 +1,136 @@ + + +
+
Options
+
Image: quay.io/jcantril/fluentd:marshal
+
Total Log Stressors: 1
+
Lines Per Second: 2500
+
Run Duration: 5m
+
Payload Source: synthetic
+
+
+ Latency of logs collected based on the time the log was generated and ingested +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TotalSizeElapsedMeanMinMaxMedian
Msg(s)(s)(s)(s)(s)
7229192565m0s14.3221.07732.99213.513
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + + + + + + + + +
StreamMin SeqMax SeqPurgedCollectedPercent Collected
loader-007229180722919100.0%
+
+
+ + <system> +log_level debug +</system> + +<source> + @type tail + @id container-input + path /var/log/pods/testhack-ksowqntt_*/loader-*/* + exclude_path ["/var/log/pods/**/*/*.gz","/var/log/pods/**/*/*.tmp"] + pos_file "/var/lib/fluentd/pos/containers-app" + refresh_interval 5 + rotate_wait 5 + tag kubernetes.* + read_from_head "true" + <parse> + @type regexp + expression /^(?<@timestamp>[^\s]+) (?<stream>stdout|stderr) (?<logtag>[F|P]) (?<message>.*)$/ + time_format '%Y-%m-%dT%H:%M:%S.%N%:z' + keep_time_key true + </parse> +</source> + +<filter kubernetes.**> + @type concat + key message + partial_key logtag + partial_value P + separator '' +</filter> + +<filter kubernetes.**> + @id kubernetes-metadata + @type kubernetes_metadata + kubernetes_url 'https://kubernetes.default.svc' + annotation_match ["^containerType\.logging\.openshift\.io\/.*$"] + allow_orphans false + cache_size '1000' + use_journal 'nil' + ssl_partial_chain 'true' +</filter> + +<match **> + @type forward + heartbeat_type none + keepalive true + + <buffer> + flush_mode interval + flush_interval 5s + flush_at_shutdown true + flush_thread_count 2 + retry_type exponential_backoff + retry_wait 1s + retry_max_interval 60s + retry_forever true + overflow_action block + </buffer> + + <server> + host 0.0.0.0 + port 24224 + </server> +</match> + +
+ diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/fluent-plugin-kubernetes_metadata_filter.gemspec b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/fluent-plugin-kubernetes_metadata_filter.gemspec index 3a6fcc339..2cf4db8c0 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/fluent-plugin-kubernetes_metadata_filter.gemspec +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/fluent-plugin-kubernetes_metadata_filter.gemspec @@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) Gem::Specification.new do |gem| gem.name = 'fluent-plugin-kubernetes_metadata_filter' - gem.version = '2.10.0' + gem.version = '3.0.1' gem.authors = ['OpenShift Cluster Logging','Jimmi Dyson'] gem.email = ['team-logging@redhat.com','jimmidyson@gmail.com'] gem.description = 'Filter plugin to add Kubernetes metadata' @@ -15,9 +15,9 @@ Gem::Specification.new do |gem| gem.files = `git ls-files`.split($/) - gem.required_ruby_version = '>= 2.5.0' + gem.required_ruby_version = '>= 2.6.0' - gem.add_runtime_dependency 'fluentd', ['>= 0.14.0', '< 1.15'] + gem.add_runtime_dependency 'fluentd', ['>= 0.14.0', '< 1.16'] gem.add_runtime_dependency 'kubeclient', ['>= 4.0.0', '< 5.0.0'] gem.add_runtime_dependency 'lru_redux' diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/filter_kubernetes_metadata.rb b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/filter_kubernetes_metadata.rb index c66420a44..1f98b2964 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/filter_kubernetes_metadata.rb +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/filter_kubernetes_metadata.rb @@ -36,7 +36,6 @@ class KubernetesMetadataFilter < Fluent::Plugin::Filter include KubernetesMetadata::CacheStrategy include KubernetesMetadata::Common - include KubernetesMetadata::Util include KubernetesMetadata::WatchNamespaces include KubernetesMetadata::WatchPods @@ -64,22 +63,6 @@ class KubernetesMetadataFilter < Fluent::Plugin::Filter config_param :bearer_token_file, :string, default: nil config_param :secret_dir, :string, default: '/var/run/secrets/kubernetes.io/serviceaccount' - config_param :de_dot, :bool, default: true - config_param :de_dot_separator, :string, default: '_' - config_param :de_slash, :bool, default: false - config_param :de_slash_separator, :string, default: '__' - # if reading from the journal, the record will contain the following fields in the following - # format: - # CONTAINER_NAME=k8s_$containername.$containerhash_$podname_$namespacename_$poduuid_$rand32bitashex - # CONTAINER_FULL_ID=dockeridassha256hexvalue - config_param :use_journal, :bool, default: nil - # Field 2 is the container_hash, field 5 is the pod_id, and field 6 is the pod_randhex - # I would have included them as named groups, but you can't have named groups that are - # non-capturing :P - # parse format is defined here: https://github.com/kubernetes/kubernetes/blob/release-1.6/pkg/kubelet/dockertools/docker.go#L317 - config_param :container_name_to_kubernetes_regexp, - :string, - default: '^(?[^_]+)_(?[^\._]+)(\.(?[^_]+))?_(?[^_]+)_(?[^_]+)_[^_]+_[^_]+$' config_param :annotation_match, :array, default: [] config_param :stats_interval, :integer, default: 30 @@ -118,11 +101,21 @@ def fetch_pod_metadata(namespace_name, pod_name) @stats.bump(:pod_cache_api_updates) log.trace("parsed metadata for #{namespace_name}/#{pod_name}: #{metadata}") @cache[metadata['pod_id']] = metadata - rescue StandardError => e - @stats.bump(:pod_cache_api_nil_error) - log.debug "Exception '#{e}' encountered fetching pod metadata from Kubernetes API #{@apiVersion} endpoint #{@kubernetes_url}" - {} - end + rescue KubeException => e + if e.error_code == 401 + # recreate client to refresh token + log.info("Encountered '401 Unauthorized' exception, recreating client to refresh token") + create_client() + else + log.error "Exception '#{e}' encountered fetching pod metadata from Kubernetes API #{@apiVersion} endpoint #{@kubernetes_url}" + @stats.bump(:pod_cache_api_nil_error) + end + {} + rescue StandardError => e + @stats.bump(:pod_cache_api_nil_error) + log.error "Exception '#{e}' encountered fetching pod metadata from Kubernetes API #{@apiVersion} endpoint #{@kubernetes_url}" + {} + end def dump_stats @curr_time = Time.now @@ -150,15 +143,27 @@ def fetch_namespace_metadata(namespace_name) @stats.bump(:namespace_cache_api_updates) log.trace("parsed metadata for #{namespace_name}: #{metadata}") @namespace_cache[metadata['namespace_id']] = metadata - rescue StandardError => e - @stats.bump(:namespace_cache_api_nil_error) - log.debug "Exception '#{e}' encountered fetching namespace metadata from Kubernetes API #{@apiVersion} endpoint #{@kubernetes_url}" - {} + rescue KubeException => e + if e.error_code == 401 + # recreate client to refresh token + log.info("Encountered '401 Unauthorized' exception, recreating client to refresh token") + create_client() + else + log.error "Exception '#{e}' encountered fetching namespace metadata from Kubernetes API #{@apiVersion} endpoint #{@kubernetes_url}" + @stats.bump(:namespace_cache_api_nil_error) + end + {} + rescue StandardError => e + @stats.bump(:namespace_cache_api_nil_error) + log.error "Exception '#{e}' encountered fetching namespace metadata from Kubernetes API #{@apiVersion} endpoint #{@kubernetes_url}" + {} end def initialize super @prev_time = Time.now + @ssl_options = {} + @auth_options = {} end def configure(conf) @@ -166,14 +171,11 @@ def configure(conf) require 'kubeclient' require 'lru_redux' - @stats = KubernetesMetadata::Stats.new - - if @de_dot && @de_dot_separator.include?('.') - raise Fluent::ConfigError, "Invalid de_dot_separator: cannot be or contain '.'" - end - if @de_slash && @de_slash_separator.include?('/') - raise Fluent::ConfigError, "Invalid de_slash_separator: cannot be or contain '/'" + @stats = KubernetesMetadata::Stats.new + if @stats_interval <= 0 + @stats = KubernetesMetadata::NoOpStats.new + self.define_singleton_method(:dump_stats) {} end if @cache_ttl < 0 @@ -192,8 +194,6 @@ def configure(conf) @tag_to_kubernetes_name_regexp_compiled = Regexp.compile(@tag_to_kubernetes_name_regexp) - @container_name_to_kubernetes_regexp_compiled = Regexp.compile(@container_name_to_kubernetes_regexp) - # Use Kubernetes default service account if we're in a pod. if @kubernetes_url.nil? log.debug 'Kubernetes URL is not set - inspecting environ' @@ -230,7 +230,7 @@ def configure(conf) end if present?(@kubernetes_url) - ssl_options = { + @ssl_options = { client_cert: present?(@client_cert) ? OpenSSL::X509::Certificate.new(File.read(@client_cert)) : nil, client_key: present?(@client_key) ? OpenSSL::PKey::RSA.new(File.read(@client_key)) : nil, ca_file: @ca_file, @@ -249,24 +249,14 @@ def configure(conf) 0x80000 end ssl_store.flags = OpenSSL::X509::V_FLAG_CRL_CHECK_ALL | flagval - ssl_options[:cert_store] = ssl_store + @ssl_options[:cert_store] = ssl_store end - auth_options = {} - if present?(@bearer_token_file) - bearer_token = File.read(@bearer_token_file) - auth_options[:bearer_token] = bearer_token + @auth_options[:bearer_token_file] = @bearer_token_file end - log.debug 'Creating K8S client' - @client = Kubeclient::Client.new( - @kubernetes_url, - @apiVersion, - ssl_options: ssl_options, - auth_options: auth_options, - as: :parsed_symbolized - ) + create_client() if @test_api_adapter log.info "Extending client with test api adaper #{@test_api_adapter}" @@ -292,10 +282,6 @@ def configure(conf) namespace_thread.abort_on_exception = true end end - @time_fields = [] - @time_fields.push('_SOURCE_REALTIME_TIMESTAMP', '__REALTIME_TIMESTAMP') if @use_journal || @use_journal.nil? - @time_fields.push('time') unless @use_journal - @time_fields.push('@timestamp') if @lookup_from_k8s_field @annotations_regexps = [] @annotation_match.each do |regexp| @@ -305,6 +291,18 @@ def configure(conf) end end + def create_client() + log.debug 'Creating K8S client' + @client = nil + @client = Kubeclient::Client.new( + @kubernetes_url, + @apiVersion, + ssl_options: @ssl_options, + auth_options: @auth_options, + as: :parsed_symbolized + ) + end + def get_metadata_for_record(namespace_name, pod_name, container_name, cache_key, create_time, batch_miss_cache, docker_id) metadata = { 'docker' => { 'container_id' => "" }, @@ -331,82 +329,32 @@ def get_metadata_for_record(namespace_name, pod_name, container_name, cache_key, metadata end - def filter_stream(tag, es) - return es if (es.respond_to?(:empty?) && es.empty?) || !es.is_a?(Fluent::EventStream) - new_es = Fluent::MultiEventStream.new - tag_match_data = tag.match(@tag_to_kubernetes_name_regexp_compiled) unless @use_journal - tag_metadata = nil + def filter(tag, time, record) + tag_match_data = tag.match(@tag_to_kubernetes_name_regexp_compiled) batch_miss_cache = {} - es.each do |time, record| - if tag_match_data && tag_metadata.nil? - cache_key = if tag_match_data.names.include?('pod_uuid') && !tag_match_data['pod_uuid'].nil? - tag_match_data['pod_uuid'] - else - tag_match_data['docker_id'] - end - docker_id = tag_match_data.names.include?('docker_id') ? tag_match_data['docker_id'] : nil - tag_metadata = get_metadata_for_record(tag_match_data['namespace'], tag_match_data['pod_name'], tag_match_data['container_name'], - cache_key, create_time_from_record(record, time), batch_miss_cache, docker_id) - end - metadata = Marshal.load(Marshal.dump(tag_metadata)) if tag_metadata - if (@use_journal || @use_journal.nil?) && - (j_metadata = get_metadata_for_journal_record(record, time, batch_miss_cache)) - metadata = j_metadata - end - if @lookup_from_k8s_field && record.key?('kubernetes') && record.key?('docker') && - record['kubernetes'].respond_to?(:has_key?) && record['docker'].respond_to?(:has_key?) && - record['kubernetes'].key?('namespace_name') && - record['kubernetes'].key?('pod_name') && - record['kubernetes'].key?('container_name') && - record['docker'].key?('container_id') && - (k_metadata = get_metadata_for_record(record['kubernetes']['namespace_name'], record['kubernetes']['pod_name'], - record['kubernetes']['container_name'], record['docker']['container_id'], - create_time_from_record(record, time), batch_miss_cache, record['docker']['container_id'])) - metadata = k_metadata - end - record = record.merge(metadata) if metadata - new_es.add(time, record) - end - dump_stats - new_es - end - - def get_metadata_for_journal_record(record, time, batch_miss_cache) - metadata = nil - if record.key?('CONTAINER_NAME') && record.key?('CONTAINER_ID_FULL') - metadata = record['CONTAINER_NAME'].match(@container_name_to_kubernetes_regexp_compiled) do |match_data| - get_metadata_for_record(match_data['namespace'], match_data['pod_name'], match_data['container_name'], - record['CONTAINER_ID_FULL'], create_time_from_record(record, time), batch_miss_cache, record['CONTAINER_ID_FULL']) - end - unless metadata - log.debug "Error: could not match CONTAINER_NAME from record #{record}" - @stats.bump(:container_name_match_failed) - end - elsif record.key?('CONTAINER_NAME') && record['CONTAINER_NAME'].start_with?('k8s_') - log.debug "Error: no container name and id in record #{record}" - @stats.bump(:container_name_id_missing) - end - metadata - end - - def de_dot!(h) - h.keys.each do |ref| - next unless h[ref] && ref =~ /\./ - - v = h.delete(ref) - newref = ref.to_s.gsub('.', @de_dot_separator) - h[newref] = v + if tag_match_data + cache_key = if tag_match_data.names.include?('pod_uuid') && !tag_match_data['pod_uuid'].nil? + tag_match_data['pod_uuid'] + else + tag_match_data['docker_id'] + end + docker_id = tag_match_data.names.include?('docker_id') ? tag_match_data['docker_id'] : nil + metadata = get_metadata_for_record(tag_match_data['namespace'], tag_match_data['pod_name'], tag_match_data['container_name'], + cache_key, time, batch_miss_cache, docker_id) end - end - - def de_slash!(h) - h.keys.each do |ref| - next unless h[ref] && ref =~ /\// - - v = h.delete(ref) - newref = ref.to_s.gsub('/', @de_slash_separator) - h[newref] = v + if @lookup_from_k8s_field && record.key?('kubernetes') && record.key?('docker') && + record['kubernetes'].respond_to?(:has_key?) && record['docker'].respond_to?(:has_key?) && + record['kubernetes'].key?('namespace_name') && + record['kubernetes'].key?('pod_name') && + record['kubernetes'].key?('container_name') && + record['docker'].key?('container_id') && + (k_metadata = get_metadata_for_record(record['kubernetes']['namespace_name'], record['kubernetes']['pod_name'], + record['kubernetes']['container_name'], record['docker']['container_id'], + time, batch_miss_cache, record['docker']['container_id'])) + metadata = k_metadata end + dump_stats + metadata ? record.merge(metadata) : record end # copied from activesupport diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_cache_strategy.rb b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_cache_strategy.rb index f7b6338be..c41bbd412 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_cache_strategy.rb +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_cache_strategy.rb @@ -20,7 +20,7 @@ # module KubernetesMetadata module CacheStrategy - def get_pod_metadata(key, namespace_name, pod_name, record_create_time, batch_miss_cache) + def get_pod_metadata(key, namespace_name, pod_name, time, batch_miss_cache) metadata = {} ids = @id_cache[key] if ids.nil? @@ -44,7 +44,7 @@ def get_pod_metadata(key, namespace_name, pod_name, record_create_time, batch_mi # pod not found, but namespace found @stats.bump(:id_cache_pod_not_found_namespace) ns_time = Time.parse(namespace_metadata['creation_timestamp']) - if ns_time <= record_create_time + if ns_time <= Time.at(time.to_f) # namespace is older then record for pod ids[:pod_id] = key metadata = @cache.fetch(ids[:pod_id]) do diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_common.rb b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_common.rb index b4ec79796..73bc5fe9a 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_common.rb +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_common.rb @@ -43,14 +43,7 @@ def parse_namespace_metadata(namespace_object) labels = syms_to_strs(namespace_object[:metadata][:labels].to_h) unless @skip_labels annotations = match_annotations(syms_to_strs(namespace_object[:metadata][:annotations].to_h)) - if @de_dot - de_dot!(labels) unless @skip_labels - de_dot!(annotations) - end - if @de_slash - de_slash!(labels) unless @skip_labels - de_slash!(annotations) - end + kubernetes_metadata = { 'namespace_id' => namespace_object[:metadata][:uid], 'creation_timestamp' => namespace_object[:metadata][:creationTimestamp] @@ -65,14 +58,6 @@ def parse_pod_metadata(pod_object) labels = syms_to_strs(pod_object[:metadata][:labels].to_h) unless @skip_labels annotations = match_annotations(syms_to_strs(pod_object[:metadata][:annotations].to_h)) - if @de_dot - de_dot!(labels) unless @skip_labels - de_dot!(annotations) - end - if @de_slash - de_slash!(labels) unless @skip_labels - de_slash!(annotations) - end # collect container information container_meta = {} diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_stats.rb b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_stats.rb index 4dd69aa4e..254e8bdca 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_stats.rb +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_stats.rb @@ -43,4 +43,20 @@ def to_s end.join(', ') end end + class NoOpStats + def initialize + end + + def bump(key) + end + + def set(key, value) + end + + def [](key) + end + + def to_s + end + end end diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_util.rb b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_util.rb index 443dbebca..7c2270f69 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_util.rb +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_util.rb @@ -18,26 +18,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # -module KubernetesMetadata - module Util - def create_time_from_record(record, internal_time) - time_key = @time_fields.detect { |ii| record.key?(ii) } - time = record[time_key] - if time.nil? || time.is_a?(String) && time.chop.empty? - # `internal_time` is a Fluent::EventTime, it can't compare with Time. - return Time.at(internal_time.to_f) - end - - if ['_SOURCE_REALTIME_TIMESTAMP', '__REALTIME_TIMESTAMP'].include?(time_key) - timei = time.to_i - return Time.at(timei / 1_000_000, timei % 1_000_000) - end - return Time.at(time) if time.is_a?(Numeric) - - Time.parse(time) - end - end -end #https://stackoverflow.com/questions/5622435/how-do-i-convert-a-ruby-class-name-to-a-underscore-delimited-symbol class String diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_watch_namespaces.rb b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_watch_namespaces.rb index 4f7dd6015..9fa688815 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_watch_namespaces.rb +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_watch_namespaces.rb @@ -46,6 +46,39 @@ def set_up_namespace_thread @stats.bump(:namespace_watch_gone_errors) log.info('410 Gone encountered. Restarting namespace watch to reset resource versions.', e) namespace_watcher = nil + rescue KubeException => e + if e.error_code == 401 + # recreate client to refresh token + log.info("Encountered '401 Unauthorized' exception in watch, recreating client to refresh token") + create_client() + namespace_watcher = nil + else + # treat all other errors the same as StandardError, log, swallow and reset + @stats.bump(:namespace_watch_failures) + if Thread.current[:namespace_watch_retry_count] < @watch_retry_max_times + # Instead of raising exceptions and crashing Fluentd, swallow + # the exception and reset the watcher. + log.info( + 'Exception encountered parsing namespace watch event. ' \ + 'The connection might have been closed. Sleeping for ' \ + "#{Thread.current[:namespace_watch_retry_backoff_interval]} " \ + 'seconds and resetting the namespace watcher.', e + ) + sleep(Thread.current[:namespace_watch_retry_backoff_interval]) + Thread.current[:namespace_watch_retry_count] += 1 + Thread.current[:namespace_watch_retry_backoff_interval] *= @watch_retry_exponential_backoff_base + namespace_watcher = nil + else + # Since retries failed for many times, log as errors instead + # of info and raise exceptions and trigger Fluentd to restart. + message = + 'Exception encountered parsing namespace watch event. The ' \ + 'connection might have been closed. Retried ' \ + "#{@watch_retry_max_times} times yet still failing. Restarting." + log.error(message, e) + raise Fluent::UnrecoverableError, message + end + end rescue StandardError => e @stats.bump(:namespace_watch_failures) if Thread.current[:namespace_watch_retry_count] < @watch_retry_max_times diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_watch_pods.rb b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_watch_pods.rb index 4ec079e9d..9fe0d92b8 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_watch_pods.rb +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/lib/fluent/plugin/kubernetes_metadata_watch_pods.rb @@ -47,6 +47,39 @@ def set_up_pod_thread @stats.bump(:pod_watch_gone_errors) log.info('410 Gone encountered. Restarting pod watch to reset resource versions.', e) pod_watcher = nil + rescue KubeException => e + if e.error_code == 401 + # recreate client to refresh token + log.info("Encountered '401 Unauthorized' exception in watch, recreating client to refresh token") + create_client() + namespace_watcher = nil + else + # treat all other errors the same as StandardError, log, swallow and reset + @stats.bump(:pod_watch_failures) + if Thread.current[:pod_watch_retry_count] < @watch_retry_max_times + # Instead of raising exceptions and crashing Fluentd, swallow + # the exception and reset the watcher. + log.info( + 'Exception encountered parsing pod watch event. The ' \ + 'connection might have been closed. Sleeping for ' \ + "#{Thread.current[:pod_watch_retry_backoff_interval]} " \ + 'seconds and resetting the pod watcher.', e + ) + sleep(Thread.current[:pod_watch_retry_backoff_interval]) + Thread.current[:pod_watch_retry_count] += 1 + Thread.current[:pod_watch_retry_backoff_interval] *= @watch_retry_exponential_backoff_base + pod_watcher = nil + else + # Since retries failed for many times, log as errors instead + # of info and raise exceptions and trigger Fluentd to restart. + message = + 'Exception encountered parsing pod watch event. The ' \ + 'connection might have been closed. Retried ' \ + "#{@watch_retry_max_times} times yet still failing. Restarting." + log.error(message, e) + raise Fluent::UnrecoverableError, message + end + end rescue StandardError => e @stats.bump(:pod_watch_failures) if Thread.current[:pod_watch_retry_count] < @watch_retry_max_times diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/test/plugin/test_filter_kubernetes_metadata.rb b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/test/plugin/test_filter_kubernetes_metadata.rb index 37a1a09bf..18f1b774b 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/test/plugin/test_filter_kubernetes_metadata.rb +++ b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/test/plugin/test_filter_kubernetes_metadata.rb @@ -41,6 +41,24 @@ def create_driver(conf = '') assert_equal(1000, d.instance.cache_size) end + sub_test_case 'stats_interval' do + + test 'enables stats when greater than zero' do + d = create_driver('stats_interval 1') + assert_equal(1, d.instance.stats_interval) + d.instance.dump_stats + assert_false(d.instance.instance_variable_get("@curr_time").nil?) + end + + test 'disables stats when <= zero' do + d = create_driver('stats_interval 0') + assert_equal(0, d.instance.stats_interval) + d.instance.dump_stats + assert_nil(d.instance.instance_variable_get("@curr_time")) + end + + end + test 'check test_api_adapter' do d = create_driver('test_api_adapter KubernetesMetadata::TestApiAdapter') assert_equal('KubernetesMetadata::TestApiAdapter', d.instance.test_api_adapter) @@ -156,15 +174,6 @@ def emit_with_tag(tag, msg = {}, config = ' d.filtered.map(&:last) end - test 'nil event stream' do - # not certain how this is possible but adding test to properly - # guard against this condition we have seen - test for nil, - # empty, no empty method, not an event stream - plugin = create_driver.instance - plugin.filter_stream('tag', nil) - plugin.filter_stream('tag', Fluent::MultiEventStream.new) - end - sub_test_case 'parsing_pod_metadata when container_status is missing from the pod status' do test 'using the tag_to_kubernetes_name_regexp for /var/log/containers ' do VCR.use_cassettes( @@ -503,318 +512,6 @@ def emit_with_tag(tag, msg = {}, config = ' assert_equal(msg, filtered[0]) end - test 'with kubernetes dotted and slashed labels, de_dot and de_slash enabled' do - VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, - { name: 'kubernetes_docker_metadata_dotted_slashed_labels' }]) do - filtered = emit({}, ' - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - de_dot true - de_slash true - ') - expected_kube_metadata = { - 'docker' => { - 'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459' - }, - 'kubernetes' => { - 'host' => 'jimmi-redhat.localnet', - 'pod_name' => 'fabric8-console-controller-98rqc', - 'container_name' => 'fabric8-console-container', - 'container_image' => 'fabric8/hawtio-kubernetes:latest', - 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303', - 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c', - 'namespace_labels' => { - 'kubernetes_io__namespacetest' => 'somevalue' - }, - 'namespace_name' => 'default', - 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d', - 'pod_ip' => '172.17.0.8', - 'master_url' => 'https://localhost:8443', - 'labels' => { - 'kubernetes_io__test' => 'somevalue' - } - } - } - assert_equal(expected_kube_metadata, filtered[0]) - end - end - - test 'with kubernetes dotted and slashed labels, de_dot and de_slash disabled' do - VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, - { name: 'kubernetes_docker_metadata_dotted_slashed_labels' }]) do - filtered = emit({}, ' - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - de_dot false - de_slash false - ') - expected_kube_metadata = { - 'docker' => { - 'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459' - }, - 'kubernetes' => { - 'host' => 'jimmi-redhat.localnet', - 'pod_name' => 'fabric8-console-controller-98rqc', - 'container_name' => 'fabric8-console-container', - 'container_image' => 'fabric8/hawtio-kubernetes:latest', - 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303', - 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c', - 'namespace_labels' => { - 'kubernetes.io/namespacetest' => 'somevalue' - }, - 'namespace_name' => 'default', - 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d', - 'pod_ip' => '172.17.0.8', - 'master_url' => 'https://localhost:8443', - 'labels' => { - 'kubernetes.io/test' => 'somevalue' - } - } - } - assert_equal(expected_kube_metadata, filtered[0]) - end - end - - test 'invalid de_dot_separator config' do - assert_raise Fluent::ConfigError do - create_driver(' - de_dot true - de_dot_separator contains. - ') - end - end - - test 'invalid de_slash_separator config' do - assert_raise Fluent::ConfigError do - create_driver(' - de_slash true - de_slash_separator contains/ - ') - end - end - - test 'with records from journald and docker & kubernetes metadata' do - # with use_journal true should ignore tags and use CONTAINER_NAME and CONTAINER_ID_FULL - tag = 'var.log.containers.junk1_junk2_junk3-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed450.log' - msg = { - 'CONTAINER_NAME' => 'k8s_fabric8-console-container.db89db89_fabric8-console-controller-98rqc_default_c76927af-f563-11e4-b32d-54ee7527188d_89db89db', - 'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459', - 'randomfield' => 'randomvalue' - } - VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, { name: 'kubernetes_get_pod' }, - { name: 'kubernetes_get_namespace_default' }]) do - filtered = emit_with_tag(tag, msg, ' - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - use_journal true - ') - expected_kube_metadata = { - 'docker' => { - 'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459' - }, - 'kubernetes' => { - 'host' => 'jimmi-redhat.localnet', - 'pod_name' => 'fabric8-console-controller-98rqc', - 'container_name' => 'fabric8-console-container', - 'container_image' => 'fabric8/hawtio-kubernetes:latest', - 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303', - 'namespace_name' => 'default', - 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c', - 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d', - 'pod_ip' => '172.17.0.8', - 'master_url' => 'https://localhost:8443', - 'labels' => { - 'component' => 'fabric8Console' - } - } - }.merge(msg) - assert_equal(expected_kube_metadata, filtered[0]) - end - end - - test 'with records from journald and docker & kubernetes metadata & namespace_id enabled' do - # with use_journal true should ignore tags and use CONTAINER_NAME and CONTAINER_ID_FULL - tag = 'var.log.containers.junk1_junk2_junk3-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed450.log' - msg = { - 'CONTAINER_NAME' => 'k8s_fabric8-console-container.db89db89_fabric8-console-controller-98rqc_default_c76927af-f563-11e4-b32d-54ee7527188d_89db89db', - 'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459', - 'randomfield' => 'randomvalue' - } - VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, { name: 'kubernetes_get_pod' }, - { name: 'kubernetes_get_namespace_default', options: { allow_playback_repeats: true } }]) do - filtered = emit_with_tag(tag, msg, ' - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - use_journal true - ') - expected_kube_metadata = { - 'docker' => { - 'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459' - }, - 'kubernetes' => { - 'host' => 'jimmi-redhat.localnet', - 'pod_name' => 'fabric8-console-controller-98rqc', - 'container_name' => 'fabric8-console-container', - 'container_image' => 'fabric8/hawtio-kubernetes:latest', - 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303', - 'namespace_name' => 'default', - 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c', - 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d', - 'pod_ip' => '172.17.0.8', - 'master_url' => 'https://localhost:8443', - 'labels' => { - 'component' => 'fabric8Console' - } - } - }.merge(msg) - assert_equal(expected_kube_metadata, filtered[0]) - end - end - - test 'with records from journald and docker & kubernetes metadata with use_journal unset' do - # with use_journal unset, should still use the journal fields instead of tag fields - tag = 'var.log.containers.fabric8-console-controller-98rqc_default_fabric8-console-container-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459.log' - msg = { - 'CONTAINER_NAME' => 'k8s_journald-container-name.db89db89_journald-pod-name_journald-namespace-name_c76927af-f563-11e4-b32d-54ee7527188d_89db89db', - 'CONTAINER_ID_FULL' => '838350c64bacba968d39a30a50789b2795291fceca6ccbff55298671d46b0e3b', - 'kubernetes' => { - 'namespace_name' => 'k8s-namespace-name', - 'pod_name' => 'k8s-pod-name', - 'container_name' => 'k8s-container-name' - }, - 'docker' => { 'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95' }, - 'randomfield' => 'randomvalue' - } - VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, { name: 'kubernetes_get_pod' }, - { name: 'kubernetes_get_namespace_default' }, - { name: 'metadata_from_tag_journald_and_kubernetes_fields' }]) do - es = emit_with_tag(tag, msg, ' - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - ') - expected_kube_metadata = { - 'docker' => { - 'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95' - }, - 'kubernetes' => { - 'host' => 'jimmi-redhat.localnet', - 'pod_name' => 'k8s-pod-name', - 'container_name' => 'k8s-container-name', - 'container_image' => 'k8s-container-image:latest', - 'container_image_id' => 'docker://d78c5217c41e9af08d37d9ae2cb070afa1fe3da6bc77bfb18879a8b4bfdf8a34', - 'namespace_name' => 'k8s-namespace-name', - 'namespace_id' => '8e0dc8fc-59f2-49f7-a3e2-ed0913e19d9f', - 'pod_id' => 'ebabf749-5fcd-4750-a3f0-aedd89476da8', - 'pod_ip' => '172.17.0.8', - 'master_url' => 'https://localhost:8443', - 'labels' => { - 'component' => 'k8s-test' - } - } - }.merge(msg) { |key, oldval, newval| (key == 'kubernetes') || (key == 'docker') ? oldval : newval } - assert_equal(expected_kube_metadata, es[0]) - end - end - - test 'with records from journald and docker & kubernetes metadata with lookup_from_k8s_field false' do - # with use_journal unset, should still use the journal fields instead of tag fields - tag = 'var.log.containers.fabric8-console-controller-98rqc_default_fabric8-console-container-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459.log' - msg = { - 'CONTAINER_NAME' => 'k8s_journald-container-name.db89db89_journald-pod-name_journald-namespace-name_c76927af-f563-11e4-b32d-54ee7527188d_89db89db', - 'CONTAINER_ID_FULL' => '838350c64bacba968d39a30a50789b2795291fceca6ccbff55298671d46b0e3b', - 'kubernetes' => { - 'namespace_name' => 'k8s-namespace-name', - 'pod_name' => 'k8s-pod-name', - 'container_name' => 'k8s-container-name' - }, - 'docker' => { 'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95' }, - 'randomfield' => 'randomvalue' - } - VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, { name: 'kubernetes_get_pod' }, - { name: 'kubernetes_get_namespace_default', options: { allow_playback_repeats: true } }, - { name: 'metadata_from_tag_and_journald_fields' }]) do - es = emit_with_tag(tag, msg, ' - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - lookup_from_k8s_field false - ') - expected_kube_metadata = { - 'docker' => { - 'container_id' => '838350c64bacba968d39a30a50789b2795291fceca6ccbff55298671d46b0e3b' - }, - 'kubernetes' => { - 'host' => 'jimmi-redhat.localnet', - 'pod_name' => 'journald-pod-name', - 'container_name' => 'journald-container-name', - 'container_image' => 'journald-container-image:latest', - 'container_image_id' => 'docker://dda4c95705fb7050b701b10a7fe928ca5bc971a1dcb521ae3c339194cbf36b47', - 'namespace_name' => 'journald-namespace-name', - 'namespace_id' => '8282888f-733f-4f23-a3d3-1fdfa3bdacf2', - 'pod_id' => '5e1c1e27-b637-4e81-80b6-6d8a8c404d3b', - 'pod_ip' => '172.17.0.8', - 'master_url' => 'https://localhost:8443', - 'labels' => { - 'component' => 'journald-test' - } - } - }.merge(msg) { |key, oldval, newval| (key == 'kubernetes') || (key == 'docker') ? oldval : newval } - assert_equal(expected_kube_metadata, es[0]) - end - end - - test 'uses metadata from tag if use_journal false and lookup_from_k8s_field false' do - # with use_journal unset, should still use the journal fields instead of tag fields - msg = { - 'CONTAINER_NAME' => 'k8s_journald-container-name.db89db89_journald-pod-name_journald-namespace-name_c76927af-f563-11e4-b32d-54ee7527188d_89db89db', - 'CONTAINER_ID_FULL' => '838350c64bacba968d39a30a50789b2795291fceca6ccbff55298671d46b0e3b', - 'kubernetes' => { - 'namespace_name' => 'k8s-namespace-name', - 'pod_name' => 'k8s-pod-name', - 'container_name' => 'k8s-container-name' - }, - 'docker' => { 'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95' }, - 'randomfield' => 'randomvalue' - } - VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, { name: 'kubernetes_get_pod' }, - { name: 'kubernetes_get_namespace_default', options: { allow_playback_repeats: true } }, - { name: 'metadata_from_tag_and_journald_fields' }]) do - es = emit_with_tag(VAR_LOG_CONTAINER_TAG, msg, " - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - lookup_from_k8s_field false - use_journal false - ") - expected_kube_metadata = { - 'docker' => { - 'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459' - }, - 'kubernetes' => { - 'host' => 'jimmi-redhat.localnet', - 'pod_name' => 'fabric8-console-controller-98rqc', - 'container_name' => 'fabric8-console-container', - 'container_image' => 'fabric8/hawtio-kubernetes:latest', - 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303', - 'namespace_name' => 'default', - 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c', - 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d', - 'pod_ip' => '172.17.0.8', - 'master_url' => 'https://localhost:8443', - 'labels' => { - 'component' => 'fabric8Console' - } - } - }.merge(msg) { |key, oldval, newval| (key == 'kubernetes') || (key == 'docker') ? oldval : newval } - assert_equal(expected_kube_metadata, es[0]) - end - end - test 'with kubernetes annotations' do VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, { name: 'kubernetes_docker_metadata_annotations' }, @@ -844,8 +541,8 @@ def emit_with_tag(tag, msg = {}, config = ' 'component' => 'fabric8Console' }, 'annotations' => { - 'custom_field1' => 'hello_kitty', - 'field_two' => 'value' + 'custom.field1' => 'hello_kitty', + 'field.two' => 'value' } } } @@ -853,51 +550,6 @@ def emit_with_tag(tag, msg = {}, config = ' end end - test 'with records from journald and docker & kubernetes metadata, alternate form' do - # with use_journal true should ignore tags and use CONTAINER_NAME and CONTAINER_ID_FULL - tag = 'var.log.containers.junk1_junk2_junk3-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed450.log' - msg = { - 'CONTAINER_NAME' => 'alt_fabric8-console-container_fabric8-console-controller-98rqc_default_c76927af-f563-11e4-b32d-54ee7527188d_0', - 'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459', - 'randomfield' => 'randomvalue' - } - VCR.use_cassettes([ - { name: 'valid_kubernetes_api_server' }, - { name: 'kubernetes_get_api_v1' }, - { name: 'kubernetes_get_pod' }, - { name: 'kubernetes_get_namespace_default' }, - { name: 'metadata_from_tag_and_journald_fields' } - ]) do - filtered = emit_with_tag(tag, msg, ' - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - use_journal true - ') - expected_kube_metadata = { - 'docker' => { - 'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459' - }, - 'kubernetes' => { - 'host' => 'jimmi-redhat.localnet', - 'pod_name' => 'fabric8-console-controller-98rqc', - 'container_name' => 'fabric8-console-container', - 'container_image' => 'fabric8/hawtio-kubernetes:latest', - 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303', - 'namespace_name' => 'default', - 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c', - 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d', - 'pod_ip' => '172.17.0.8', - 'master_url' => 'https://localhost:8443', - 'labels' => { - 'component' => 'fabric8Console' - } - } - }.merge(msg) - assert_equal(expected_kube_metadata, filtered[0]) - end - end - test 'with kubernetes namespace annotations' do VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, { name: 'kubernetes_docker_metadata_annotations' }, @@ -927,8 +579,8 @@ def emit_with_tag(tag, msg = {}, config = ' 'component' => 'fabric8Console' }, 'annotations' => { - 'custom_field1' => 'hello_kitty', - 'field_two' => 'value' + 'custom.field1' => 'hello_kitty', + 'field.two' => 'value' }, 'namespace_annotations' => { 'workspaceId' => 'myWorkspaceName' @@ -973,56 +625,6 @@ def emit_with_tag(tag, msg = {}, config = ' end end - test 'with CONTAINER_NAME that does not match' do - tag = 'var.log.containers.junk4_junk5_junk6-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed450.log' - msg = { - 'CONTAINER_NAME' => 'does_not_match', - 'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459', - 'randomfield' => 'randomvalue' - } - VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, - { name: 'kubernetes_docker_metadata_annotations' }, - { name: 'kubernetes_get_namespace_default' }]) do - filtered = emit_with_tag(tag, msg, ' - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - use_journal true - ') - expected_kube_metadata = { - 'CONTAINER_NAME' => 'does_not_match', - 'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459', - 'randomfield' => 'randomvalue' - } - assert_equal(expected_kube_metadata, filtered[0]) - end - end - - test 'with CONTAINER_NAME starts with k8s_ that does not match' do - tag = 'var.log.containers.junk4_junk5_junk6-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed450.log' - msg = { - 'CONTAINER_NAME' => 'k8s_doesnotmatch', - 'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459', - 'randomfield' => 'randomvalue' - } - VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, - { name: 'kubernetes_docker_metadata_annotations' }, - { name: 'kubernetes_get_namespace_default' }]) do - filtered = emit_with_tag(tag, msg, ' - kubernetes_url https://localhost:8443 - watch false - cache_size 1 - use_journal true - ') - expected_kube_metadata = { - 'CONTAINER_NAME' => 'k8s_doesnotmatch', - 'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459', - 'randomfield' => 'randomvalue' - } - assert_equal(expected_kube_metadata, filtered[0]) - end - end - test 'processes all events when reading from MessagePackEventStream' do VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, @@ -1036,6 +638,7 @@ def emit_with_tag(tag, msg = {}, config = ' kubernetes_url https://localhost:8443 watch false cache_size 1 + stats_interval 0 ') d.run do d.feed(VAR_LOG_CONTAINER_TAG, msgpack_stream) diff --git a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/test/plugin/test_utils.rb b/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/test/plugin/test_utils.rb deleted file mode 100644 index f310c04f1..000000000 --- a/fluentd/vendored_gem_src/fluent-plugin-kubernetes_metadata_filter/test/plugin/test_utils.rb +++ /dev/null @@ -1,56 +0,0 @@ -# frozen_string_literal: true - -# -# Fluentd Kubernetes Metadata Filter Plugin - Enrich Fluentd events with -# Kubernetes metadata -# -# Copyright 2015 Red Hat, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -class KubernetesMetadataCacheStatsTest < Test::Unit::TestCase - include KubernetesMetadata::Util - - def setup - @time_fields = ['time'] - @internal_time = Time.now - end - - test '#create_time_from_record when time is empty' do - record = { 'time' => ' ' } - assert_equal(@internal_time.to_i, create_time_from_record(record, @internal_time).to_i) - end - test '#create_time_from_record when time is nil' do - record = {} - assert_equal(@internal_time.to_i, create_time_from_record(record, @internal_time).to_i) - end - - test '#create_time_from_record when time is an integer' do - exp_time = Time.now - record = { 'time' => exp_time.to_i } - assert_equal(exp_time.to_i, create_time_from_record(record, @internal_time).to_i) - end - - test '#create_time_from_record when time is a string' do - exp_time = Time.now - record = { 'time' => exp_time.to_s } - assert_equal(exp_time.to_i, create_time_from_record(record, @internal_time).to_i) - end - - test '#create_time_from_record when timefields include journal time fields' do - @time_fields = ['_SOURCE_REALTIME_TIMESTAMP'] - exp_time = Time.now - record = { '_SOURCE_REALTIME_TIMESTAMP' => exp_time.to_i.to_s } - assert_equal(Time.at(exp_time.to_i / 1_000_000, exp_time.to_i % 1_000_000).to_i, create_time_from_record(record, @internal_time).to_i) - end -end diff --git a/fluentd/vendored_gem_src/fluent-plugin-systemd/fluent-plugin-systemd.gemspec b/fluentd/vendored_gem_src/fluent-plugin-systemd/fluent-plugin-systemd.gemspec index 4d37c6972..9b0605a8a 100644 --- a/fluentd/vendored_gem_src/fluent-plugin-systemd/fluent-plugin-systemd.gemspec +++ b/fluentd/vendored_gem_src/fluent-plugin-systemd/fluent-plugin-systemd.gemspec @@ -14,27 +14,20 @@ Gem::Specification.new do |s| s.files = ["LICENCE".freeze, "README.md".freeze, "lib/fluent/plugin/filter_systemd_entry.rb".freeze, "lib/fluent/plugin/in_systemd.rb".freeze, "lib/fluent/plugin/systemd/entry_mutator.rb".freeze] s.homepage = "https://github.com/reevoo/fluent-plugin-systemd".freeze s.licenses = ["Apache-2.0".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Input plugin to read from systemd journal.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, ["> 1.10"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 3.4"]) - s.add_development_dependency(%q.freeze, ["= 1.13.0"]) - s.add_runtime_dependency(%q.freeze, [">= 0.14.11", "< 2"]) - s.add_runtime_dependency(%q.freeze, ["~> 1.4.2"]) - else - s.add_dependency(%q.freeze, ["> 1.10"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 3.4"]) - s.add_dependency(%q.freeze, ["= 1.13.0"]) - s.add_dependency(%q.freeze, [">= 0.14.11", "< 2"]) - s.add_dependency(%q.freeze, ["~> 1.4.2"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, ["> 1.10"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 3.4"]) + s.add_development_dependency(%q.freeze, ["= 1.13.0"]) + s.add_runtime_dependency(%q.freeze, [">= 0.14.11", "< 2"]) + s.add_runtime_dependency(%q.freeze, ["~> 1.4.2"]) else s.add_dependency(%q.freeze, ["> 1.10"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/httpclient/httpclient.gemspec b/fluentd/vendored_gem_src/httpclient/httpclient.gemspec index 490256d1f..6f8b360c9 100644 --- a/fluentd/vendored_gem_src/httpclient/httpclient.gemspec +++ b/fluentd/vendored_gem_src/httpclient/httpclient.gemspec @@ -14,7 +14,7 @@ Gem::Specification.new do |s| s.files = ["README.md".freeze, "bin/httpclient".freeze, "bin/jsonclient".freeze, "lib/hexdump.rb".freeze, "lib/http-access2.rb".freeze, "lib/http-access2/cookie.rb".freeze, "lib/http-access2/http.rb".freeze, "lib/httpclient.rb".freeze, "lib/httpclient/auth.rb".freeze, "lib/httpclient/cacert.pem".freeze, "lib/httpclient/cacert1024.pem".freeze, "lib/httpclient/connection.rb".freeze, "lib/httpclient/cookie.rb".freeze, "lib/httpclient/http.rb".freeze, "lib/httpclient/include_client.rb".freeze, "lib/httpclient/jruby_ssl_socket.rb".freeze, "lib/httpclient/session.rb".freeze, "lib/httpclient/ssl_config.rb".freeze, "lib/httpclient/ssl_socket.rb".freeze, "lib/httpclient/timeout.rb".freeze, "lib/httpclient/util.rb".freeze, "lib/httpclient/version.rb".freeze, "lib/httpclient/webagent-cookie.rb".freeze, "lib/jsonclient.rb".freeze, "lib/oauthclient.rb".freeze, "sample/async.rb".freeze, "sample/auth.rb".freeze, "sample/cookie.rb".freeze, "sample/dav.rb".freeze, "sample/howto.rb".freeze, "sample/jsonclient.rb".freeze, "sample/oauth_buzz.rb".freeze, "sample/oauth_friendfeed.rb".freeze, "sample/oauth_twitter.rb".freeze, "sample/ssl/0cert.pem".freeze, "sample/ssl/0key.pem".freeze, "sample/ssl/1000cert.pem".freeze, "sample/ssl/1000key.pem".freeze, "sample/ssl/htdocs/index.html".freeze, "sample/ssl/ssl_client.rb".freeze, "sample/ssl/webrick_httpsd.rb".freeze, "sample/stream.rb".freeze, "sample/thread.rb".freeze, "sample/wcat.rb".freeze, "test/ca-chain.pem".freeze, "test/ca.cert".freeze, "test/client-pass.key".freeze, "test/client.cert".freeze, "test/client.key".freeze, "test/helper.rb".freeze, "test/htdigest".freeze, "test/htpasswd".freeze, "test/jruby_ssl_socket/test_pemutils.rb".freeze, "test/runner.rb".freeze, "test/server.cert".freeze, "test/server.key".freeze, "test/sslsvr.rb".freeze, "test/subca.cert".freeze, "test/test_auth.rb".freeze, "test/test_cookie.rb".freeze, "test/test_hexdump.rb".freeze, "test/test_http-access2.rb".freeze, "test/test_httpclient.rb".freeze, "test/test_include_client.rb".freeze, "test/test_jsonclient.rb".freeze, "test/test_ssl.rb".freeze, "test/test_webagent-cookie.rb".freeze] s.homepage = "https://github.com/nahi/httpclient".freeze s.licenses = ["ruby".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "gives something like the functionality of libwww-perl (LWP) in Ruby".freeze end diff --git a/fluentd/vendored_gem_src/i18n/i18n.gemspec b/fluentd/vendored_gem_src/i18n/i18n.gemspec index 8d61abde2..bba49d857 100644 --- a/fluentd/vendored_gem_src/i18n/i18n.gemspec +++ b/fluentd/vendored_gem_src/i18n/i18n.gemspec @@ -16,17 +16,15 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/ruby-i18n/i18n".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.3.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "New wave Internationalization support for Ruby".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, ["~> 1.0"]) end diff --git a/fluentd/vendored_gem_src/jmespath/jmespath.gemspec b/fluentd/vendored_gem_src/jmespath/jmespath.gemspec index a5ef6c068..72e84b4f0 100644 --- a/fluentd/vendored_gem_src/jmespath/jmespath.gemspec +++ b/fluentd/vendored_gem_src/jmespath/jmespath.gemspec @@ -14,7 +14,7 @@ Gem::Specification.new do |s| s.files = ["LICENSE.txt".freeze, "VERSION".freeze, "lib/jmespath.rb".freeze, "lib/jmespath/caching_parser.rb".freeze, "lib/jmespath/errors.rb".freeze, "lib/jmespath/lexer.rb".freeze, "lib/jmespath/nodes.rb".freeze, "lib/jmespath/nodes/and.rb".freeze, "lib/jmespath/nodes/comparator.rb".freeze, "lib/jmespath/nodes/condition.rb".freeze, "lib/jmespath/nodes/current.rb".freeze, "lib/jmespath/nodes/expression.rb".freeze, "lib/jmespath/nodes/field.rb".freeze, "lib/jmespath/nodes/flatten.rb".freeze, "lib/jmespath/nodes/function.rb".freeze, "lib/jmespath/nodes/index.rb".freeze, "lib/jmespath/nodes/literal.rb".freeze, "lib/jmespath/nodes/multi_select_hash.rb".freeze, "lib/jmespath/nodes/multi_select_list.rb".freeze, "lib/jmespath/nodes/not.rb".freeze, "lib/jmespath/nodes/or.rb".freeze, "lib/jmespath/nodes/pipe.rb".freeze, "lib/jmespath/nodes/projection.rb".freeze, "lib/jmespath/nodes/slice.rb".freeze, "lib/jmespath/nodes/subexpression.rb".freeze, "lib/jmespath/parser.rb".freeze, "lib/jmespath/runtime.rb".freeze, "lib/jmespath/token.rb".freeze, "lib/jmespath/token_stream.rb".freeze, "lib/jmespath/util.rb".freeze, "lib/jmespath/version.rb".freeze] s.homepage = "http://github.com/trevorrowe/jmespath.rb".freeze s.licenses = ["Apache-2.0".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "JMESPath - Ruby Edition".freeze end diff --git a/fluentd/vendored_gem_src/mail/mail.gemspec b/fluentd/vendored_gem_src/mail/mail.gemspec index b27a72005..626d47c30 100644 --- a/fluentd/vendored_gem_src/mail/mail.gemspec +++ b/fluentd/vendored_gem_src/mail/mail.gemspec @@ -16,27 +16,20 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/mikel/mail".freeze s.licenses = ["MIT".freeze] s.rdoc_options = ["--exclude".freeze, "lib/mail/values/unicode_tables.dat".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Mail provides a nice Ruby DSL for making, sending and reading emails.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 0.1.1"]) - s.add_development_dependency(%q.freeze, [">= 1.0.3"]) - s.add_development_dependency(%q.freeze, ["> 0.8.7"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - else - s.add_dependency(%q.freeze, [">= 0.1.1"]) - s.add_dependency(%q.freeze, [">= 1.0.3"]) - s.add_dependency(%q.freeze, ["> 0.8.7"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 0.1.1"]) + s.add_development_dependency(%q.freeze, [">= 1.0.3"]) + s.add_development_dependency(%q.freeze, ["> 0.8.7"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) else s.add_dependency(%q.freeze, [">= 0.1.1"]) s.add_dependency(%q.freeze, [">= 1.0.3"]) diff --git a/fluentd/vendored_gem_src/mime-types-data/mime-types-data.gemspec b/fluentd/vendored_gem_src/mime-types-data/mime-types-data.gemspec index 0e1c1f57b..baf21ce63 100644 --- a/fluentd/vendored_gem_src/mime-types-data/mime-types-data.gemspec +++ b/fluentd/vendored_gem_src/mime-types-data/mime-types-data.gemspec @@ -17,37 +17,25 @@ Gem::Specification.new do |s| s.licenses = ["MIT".freeze] s.rdoc_options = ["--main".freeze, "README.md".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "mime-types-data provides a registry for information about MIME media type definitions".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, ["~> 1.6"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.1"]) - s.add_development_dependency(%q.freeze, ["~> 1.6"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, [">= 10.0", "< 14"]) - s.add_development_dependency(%q.freeze, [">= 3.4.0", "< 4"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, [">= 4.0", "< 7"]) - s.add_development_dependency(%q.freeze, ["~> 3.23"]) - else - s.add_dependency(%q.freeze, ["~> 1.6"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 1.1"]) - s.add_dependency(%q.freeze, ["~> 1.6"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, [">= 10.0", "< 14"]) - s.add_dependency(%q.freeze, [">= 3.4.0", "< 4"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, [">= 4.0", "< 7"]) - s.add_dependency(%q.freeze, ["~> 3.23"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, ["~> 1.6"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.1"]) + s.add_development_dependency(%q.freeze, ["~> 1.6"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, [">= 10.0", "< 14"]) + s.add_development_dependency(%q.freeze, [">= 3.4.0", "< 4"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, [">= 4.0", "< 7"]) + s.add_development_dependency(%q.freeze, ["~> 3.23"]) else s.add_dependency(%q.freeze, ["~> 1.6"]) s.add_dependency(%q.freeze, ["~> 1.0"]) diff --git a/fluentd/vendored_gem_src/mime-types/mime-types.gemspec b/fluentd/vendored_gem_src/mime-types/mime-types.gemspec index 33e185b16..9da3c2ed2 100644 --- a/fluentd/vendored_gem_src/mime-types/mime-types.gemspec +++ b/fluentd/vendored_gem_src/mime-types/mime-types.gemspec @@ -18,45 +18,29 @@ Gem::Specification.new do |s| s.licenses = ["MIT".freeze] s.rdoc_options = ["--main".freeze, "README.rdoc".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "The mime-types library provides a library and registry for information about MIME content type definitions".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 3.2015"]) - s.add_development_dependency(%q.freeze, ["~> 5.14"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.1"]) - s.add_development_dependency(%q.freeze, ["~> 1.6"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.4"]) - s.add_development_dependency(%q.freeze, [">= 10.0", "< 14.0"]) - s.add_development_dependency(%q.freeze, ["~> 0.7"]) - s.add_development_dependency(%q.freeze, [">= 4.0", "< 7"]) - s.add_development_dependency(%q.freeze, ["~> 3.23"]) - else - s.add_dependency(%q.freeze, ["~> 3.2015"]) - s.add_dependency(%q.freeze, ["~> 5.14"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 1.1"]) - s.add_dependency(%q.freeze, ["~> 1.6"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 1.4"]) - s.add_dependency(%q.freeze, [">= 10.0", "< 14.0"]) - s.add_dependency(%q.freeze, ["~> 0.7"]) - s.add_dependency(%q.freeze, [">= 4.0", "< 7"]) - s.add_dependency(%q.freeze, ["~> 3.23"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 3.2015"]) + s.add_development_dependency(%q.freeze, ["~> 5.14"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.1"]) + s.add_development_dependency(%q.freeze, ["~> 1.6"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.4"]) + s.add_development_dependency(%q.freeze, [">= 10.0", "< 14.0"]) + s.add_development_dependency(%q.freeze, ["~> 0.7"]) + s.add_development_dependency(%q.freeze, [">= 4.0", "< 7"]) + s.add_development_dependency(%q.freeze, ["~> 3.23"]) else s.add_dependency(%q.freeze, ["~> 3.2015"]) s.add_dependency(%q.freeze, ["~> 5.14"]) diff --git a/fluentd/vendored_gem_src/minitest/minitest.gemspec b/fluentd/vendored_gem_src/minitest/minitest.gemspec index ef0a545c1..59ac1d33e 100644 --- a/fluentd/vendored_gem_src/minitest/minitest.gemspec +++ b/fluentd/vendored_gem_src/minitest/minitest.gemspec @@ -19,19 +19,16 @@ Gem::Specification.new do |s| s.licenses = ["MIT".freeze] s.rdoc_options = ["--main".freeze, "README.rdoc".freeze] s.required_ruby_version = Gem::Requirement.new([">= 2.2".freeze, "< 4.0".freeze]) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 4.0", "< 7"]) - s.add_development_dependency(%q.freeze, ["~> 3.22"]) - else - s.add_dependency(%q.freeze, [">= 4.0", "< 7"]) - s.add_dependency(%q.freeze, ["~> 3.22"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 4.0", "< 7"]) + s.add_development_dependency(%q.freeze, ["~> 3.22"]) else s.add_dependency(%q.freeze, [">= 4.0", "< 7"]) s.add_dependency(%q.freeze, ["~> 3.22"]) diff --git a/fluentd/vendored_gem_src/multi_json/multi_json.gemspec b/fluentd/vendored_gem_src/multi_json/multi_json.gemspec index 2121584fd..0d084f1b9 100644 --- a/fluentd/vendored_gem_src/multi_json/multi_json.gemspec +++ b/fluentd/vendored_gem_src/multi_json/multi_json.gemspec @@ -15,19 +15,16 @@ Gem::Specification.new do |s| s.files = ["CHANGELOG.md".freeze, "CONTRIBUTING.md".freeze, "LICENSE.md".freeze, "README.md".freeze, "lib/multi_json.rb".freeze, "lib/multi_json/adapter.rb".freeze, "lib/multi_json/adapter_error.rb".freeze, "lib/multi_json/adapters/gson.rb".freeze, "lib/multi_json/adapters/jr_jackson.rb".freeze, "lib/multi_json/adapters/json_common.rb".freeze, "lib/multi_json/adapters/json_gem.rb".freeze, "lib/multi_json/adapters/json_pure.rb".freeze, "lib/multi_json/adapters/nsjsonserialization.rb".freeze, "lib/multi_json/adapters/oj.rb".freeze, "lib/multi_json/adapters/ok_json.rb".freeze, "lib/multi_json/adapters/yajl.rb".freeze, "lib/multi_json/convertible_hash_keys.rb".freeze, "lib/multi_json/options.rb".freeze, "lib/multi_json/options_cache.rb".freeze, "lib/multi_json/parse_error.rb".freeze, "lib/multi_json/vendor/okjson.rb".freeze, "lib/multi_json/version.rb".freeze] s.homepage = "https://github.com/intridea/multi_json".freeze s.licenses = ["MIT".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A common interface to multiple JSON libraries.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, ["~> 10.5"]) - s.add_development_dependency(%q.freeze, ["~> 3.9"]) - else - s.add_dependency(%q.freeze, ["~> 10.5"]) - s.add_dependency(%q.freeze, ["~> 3.9"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, ["~> 10.5"]) + s.add_development_dependency(%q.freeze, ["~> 3.9"]) else s.add_dependency(%q.freeze, ["~> 10.5"]) s.add_dependency(%q.freeze, ["~> 3.9"]) diff --git a/fluentd/vendored_gem_src/net-http-persistent/net-http-persistent.gemspec b/fluentd/vendored_gem_src/net-http-persistent/net-http-persistent.gemspec index 0a17ef664..b050ae296 100644 --- a/fluentd/vendored_gem_src/net-http-persistent/net-http-persistent.gemspec +++ b/fluentd/vendored_gem_src/net-http-persistent/net-http-persistent.gemspec @@ -18,27 +18,20 @@ Gem::Specification.new do |s| s.licenses = ["MIT".freeze] s.rdoc_options = ["--main".freeze, "README.rdoc".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.3".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Manages persistent connections using Net::HTTP including a thread pool for connecting to multiple hosts".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 2.2"]) - s.add_development_dependency(%q.freeze, ["~> 5.14"]) - s.add_development_dependency(%q.freeze, ["~> 1.5"]) - s.add_development_dependency(%q.freeze, ["~> 1.4", ">= 1.4.1"]) - s.add_development_dependency(%q.freeze, [">= 4.0", "< 7"]) - s.add_development_dependency(%q.freeze, ["~> 3.22"]) - else - s.add_dependency(%q.freeze, ["~> 2.2"]) - s.add_dependency(%q.freeze, ["~> 5.14"]) - s.add_dependency(%q.freeze, ["~> 1.5"]) - s.add_dependency(%q.freeze, ["~> 1.4", ">= 1.4.1"]) - s.add_dependency(%q.freeze, [">= 4.0", "< 7"]) - s.add_dependency(%q.freeze, ["~> 3.22"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 2.2"]) + s.add_development_dependency(%q.freeze, ["~> 5.14"]) + s.add_development_dependency(%q.freeze, ["~> 1.5"]) + s.add_development_dependency(%q.freeze, ["~> 1.4", ">= 1.4.1"]) + s.add_development_dependency(%q.freeze, [">= 4.0", "< 7"]) + s.add_development_dependency(%q.freeze, ["~> 3.22"]) else s.add_dependency(%q.freeze, ["~> 2.2"]) s.add_dependency(%q.freeze, ["~> 5.14"]) diff --git a/fluentd/vendored_gem_src/netrc/netrc.gemspec b/fluentd/vendored_gem_src/netrc/netrc.gemspec index 63927bc08..c63328fb6 100644 --- a/fluentd/vendored_gem_src/netrc/netrc.gemspec +++ b/fluentd/vendored_gem_src/netrc/netrc.gemspec @@ -14,17 +14,15 @@ Gem::Specification.new do |s| s.files = ["LICENSE.md".freeze, "Readme.md".freeze, "changelog.txt".freeze, "data/default_only.netrc".freeze, "data/login.netrc".freeze, "data/newlineless.netrc".freeze, "data/password.netrc".freeze, "data/permissive.netrc".freeze, "data/sample.netrc".freeze, "data/sample_multi.netrc".freeze, "data/sample_multi_with_default.netrc".freeze, "data/sample_with_default.netrc".freeze, "lib/netrc.rb".freeze, "test/test_lex.rb".freeze, "test/test_netrc.rb".freeze, "test/test_parse.rb".freeze] s.homepage = "https://github.com/geemus/netrc".freeze s.licenses = ["MIT".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Library to read and write netrc files.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0"]) else s.add_dependency(%q.freeze, [">= 0"]) end diff --git a/fluentd/vendored_gem_src/oj/oj.gemspec b/fluentd/vendored_gem_src/oj/oj.gemspec index 8b34ba046..7cc26cda9 100644 --- a/fluentd/vendored_gem_src/oj/oj.gemspec +++ b/fluentd/vendored_gem_src/oj/oj.gemspec @@ -20,24 +20,19 @@ Gem::Specification.new do |s| s.licenses = ["MIT".freeze] s.rdoc_options = ["--title".freeze, "Oj".freeze, "--main".freeze, "README.md".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A fast JSON parser and serializer.".freeze s.test_files = ["test/_test_active.rb".freeze, "test/_test_active_mimic.rb".freeze, "test/_test_mimic_rails.rb".freeze, "test/activerecord/result_test.rb".freeze, "test/activesupport4/decoding_test.rb".freeze, "test/activesupport4/encoding_test.rb".freeze, "test/activesupport4/test_helper.rb".freeze, "test/activesupport5/abstract_unit.rb".freeze, "test/activesupport5/decoding_test.rb".freeze, "test/activesupport5/encoding_test.rb".freeze, "test/activesupport5/encoding_test_cases.rb".freeze, "test/activesupport5/test_helper.rb".freeze, "test/activesupport5/time_zone_test_helpers.rb".freeze, "test/activesupport6/abstract_unit.rb".freeze, "test/activesupport6/decoding_test.rb".freeze, "test/activesupport6/encoding_test.rb".freeze, "test/activesupport6/encoding_test_cases.rb".freeze, "test/activesupport6/test_common.rb".freeze, "test/activesupport6/test_helper.rb".freeze, "test/activesupport6/time_zone_test_helpers.rb".freeze, "test/bar.rb".freeze, "test/baz.rb".freeze, "test/bug.rb".freeze, "test/files.rb".freeze, "test/foo.rb".freeze, "test/helper.rb".freeze, "test/isolated/shared.rb".freeze, "test/isolated/test_mimic_after.rb".freeze, "test/isolated/test_mimic_alone.rb".freeze, "test/isolated/test_mimic_as_json.rb".freeze, "test/isolated/test_mimic_before.rb".freeze, "test/isolated/test_mimic_define.rb".freeze, "test/isolated/test_mimic_rails_after.rb".freeze, "test/isolated/test_mimic_rails_before.rb".freeze, "test/isolated/test_mimic_redefine.rb".freeze, "test/json_gem/json_addition_test.rb".freeze, "test/json_gem/json_common_interface_test.rb".freeze, "test/json_gem/json_encoding_test.rb".freeze, "test/json_gem/json_ext_parser_test.rb".freeze, "test/json_gem/json_fixtures_test.rb".freeze, "test/json_gem/json_generator_test.rb".freeze, "test/json_gem/json_generic_object_test.rb".freeze, "test/json_gem/json_parser_test.rb".freeze, "test/json_gem/json_string_matching_test.rb".freeze, "test/json_gem/test_helper.rb".freeze, "test/mem.rb".freeze, "test/perf.rb".freeze, "test/perf_compat.rb".freeze, "test/perf_fast.rb".freeze, "test/perf_file.rb".freeze, "test/perf_object.rb".freeze, "test/perf_once.rb".freeze, "test/perf_parser.rb".freeze, "test/perf_saj.rb".freeze, "test/perf_scp.rb".freeze, "test/perf_simple.rb".freeze, "test/perf_strict.rb".freeze, "test/perf_wab.rb".freeze, "test/prec.rb".freeze, "test/sample/change.rb".freeze, "test/sample/dir.rb".freeze, "test/sample/doc.rb".freeze, "test/sample/file.rb".freeze, "test/sample/group.rb".freeze, "test/sample/hasprops.rb".freeze, "test/sample/layer.rb".freeze, "test/sample/line.rb".freeze, "test/sample/oval.rb".freeze, "test/sample/rect.rb".freeze, "test/sample/shape.rb".freeze, "test/sample/text.rb".freeze, "test/sample.rb".freeze, "test/sample_json.rb".freeze, "test/test_compat.rb".freeze, "test/test_custom.rb".freeze, "test/test_debian.rb".freeze, "test/test_fast.rb".freeze, "test/test_file.rb".freeze, "test/test_gc.rb".freeze, "test/test_generate.rb".freeze, "test/test_hash.rb".freeze, "test/test_integer_range.rb".freeze, "test/test_null.rb".freeze, "test/test_object.rb".freeze, "test/test_parser.rb".freeze, "test/test_parser_saj.rb".freeze, "test/test_parser_usual.rb".freeze, "test/test_rails.rb".freeze, "test/test_saj.rb".freeze, "test/test_scp.rb".freeze, "test/test_strict.rb".freeze, "test/test_various.rb".freeze, "test/test_wab.rb".freeze, "test/test_writer.rb".freeze, "test/tests.rb".freeze, "test/tests_mimic.rb".freeze, "test/tests_mimic_addition.rb".freeze, "test/zoo.rb".freeze] if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0.9", "< 2.0"]) - s.add_development_dependency(%q.freeze, ["~> 5"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 0"]) - else - s.add_dependency(%q.freeze, [">= 0.9", "< 2.0"]) - s.add_dependency(%q.freeze, ["~> 5"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0.9", "< 2.0"]) + s.add_development_dependency(%q.freeze, ["~> 5"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 0"]) else s.add_dependency(%q.freeze, [">= 0.9", "< 2.0"]) s.add_dependency(%q.freeze, ["~> 5"]) diff --git a/fluentd/vendored_gem_src/prometheus-client/prometheus-client.gemspec b/fluentd/vendored_gem_src/prometheus-client/prometheus-client.gemspec index 8c6467f33..38c883348 100644 --- a/fluentd/vendored_gem_src/prometheus-client/prometheus-client.gemspec +++ b/fluentd/vendored_gem_src/prometheus-client/prometheus-client.gemspec @@ -13,19 +13,16 @@ Gem::Specification.new do |s| s.files = ["README.md".freeze, "lib/prometheus.rb".freeze, "lib/prometheus/client.rb".freeze, "lib/prometheus/client/config.rb".freeze, "lib/prometheus/client/counter.rb".freeze, "lib/prometheus/client/data_stores/README.md".freeze, "lib/prometheus/client/data_stores/direct_file_store.rb".freeze, "lib/prometheus/client/data_stores/single_threaded.rb".freeze, "lib/prometheus/client/data_stores/synchronized.rb".freeze, "lib/prometheus/client/formats/text.rb".freeze, "lib/prometheus/client/gauge.rb".freeze, "lib/prometheus/client/histogram.rb".freeze, "lib/prometheus/client/label_set_validator.rb".freeze, "lib/prometheus/client/metric.rb".freeze, "lib/prometheus/client/push.rb".freeze, "lib/prometheus/client/registry.rb".freeze, "lib/prometheus/client/summary.rb".freeze, "lib/prometheus/client/version.rb".freeze, "lib/prometheus/middleware/collector.rb".freeze, "lib/prometheus/middleware/exporter.rb".freeze] s.homepage = "https://github.com/prometheus/client_ruby".freeze s.licenses = ["Apache-2.0".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A suite of instrumentation metric primitivesthat can be exposed through a web services interface.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) else s.add_dependency(%q.freeze, [">= 0"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/protocol-hpack/protocol-hpack.gemspec b/fluentd/vendored_gem_src/protocol-hpack/protocol-hpack.gemspec index 9ba3df566..882000d4c 100644 --- a/fluentd/vendored_gem_src/protocol-hpack/protocol-hpack.gemspec +++ b/fluentd/vendored_gem_src/protocol-hpack/protocol-hpack.gemspec @@ -13,23 +13,18 @@ Gem::Specification.new do |s| s.files = [".editorconfig".freeze, ".gitignore".freeze, ".gitmodules".freeze, ".rspec".freeze, ".travis.yml".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "http-hpack.gemspec".freeze, "lib/protocol/hpack.rb".freeze, "lib/protocol/hpack/compressor.rb".freeze, "lib/protocol/hpack/context.rb".freeze, "lib/protocol/hpack/decompressor.rb".freeze, "lib/protocol/hpack/error.rb".freeze, "lib/protocol/hpack/huffman.rb".freeze, "lib/protocol/hpack/huffman/machine.rb".freeze, "lib/protocol/hpack/version.rb".freeze, "tasks/huffman.rake".freeze, "tasks/huffman.rb".freeze] s.homepage = "https://github.com/socketry/http-hpack".freeze s.licenses = ["MIT".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A compresssor and decompressor for HTTP 2.0 HPACK.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 10.0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 10.0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 10.0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) else s.add_dependency(%q.freeze, [">= 0"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/protocol-http/protocol-http.gemspec b/fluentd/vendored_gem_src/protocol-http/protocol-http.gemspec index 92f147520..e66430744 100644 --- a/fluentd/vendored_gem_src/protocol-http/protocol-http.gemspec +++ b/fluentd/vendored_gem_src/protocol-http/protocol-http.gemspec @@ -13,21 +13,17 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/socketry/protocol-http".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Provides abstractions to handle HTTP protocols.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) else s.add_dependency(%q.freeze, [">= 0"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/protocol-http1/protocol-http1.gemspec b/fluentd/vendored_gem_src/protocol-http1/protocol-http1.gemspec index 889cf6b4e..9dfbb47a6 100644 --- a/fluentd/vendored_gem_src/protocol-http1/protocol-http1.gemspec +++ b/fluentd/vendored_gem_src/protocol-http1/protocol-http1.gemspec @@ -14,27 +14,20 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/socketry/protocol-http1".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.4".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A low level implementation of the HTTP/1 protocol.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 0.22"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - s.add_development_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, ["~> 0.22"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 0.22"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) + s.add_development_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, ["~> 0.22"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/protocol-http2/protocol-http2.gemspec b/fluentd/vendored_gem_src/protocol-http2/protocol-http2.gemspec index a4dfd2079..ccf3cb08e 100644 --- a/fluentd/vendored_gem_src/protocol-http2/protocol-http2.gemspec +++ b/fluentd/vendored_gem_src/protocol-http2/protocol-http2.gemspec @@ -13,25 +13,19 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/socketry/protocol-http2".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "A low level implementation of the HTTP/2 protocol.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 1.4"]) - s.add_runtime_dependency(%q.freeze, ["~> 0.18"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - else - s.add_dependency(%q.freeze, ["~> 1.4"]) - s.add_dependency(%q.freeze, ["~> 0.18"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 1.4"]) + s.add_runtime_dependency(%q.freeze, ["~> 0.18"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) else s.add_dependency(%q.freeze, ["~> 1.4"]) s.add_dependency(%q.freeze, ["~> 0.18"]) diff --git a/fluentd/vendored_gem_src/ruby2_keywords/ruby2_keywords.gemspec b/fluentd/vendored_gem_src/ruby2_keywords/ruby2_keywords.gemspec index d48182d48..e438010e7 100644 --- a/fluentd/vendored_gem_src/ruby2_keywords/ruby2_keywords.gemspec +++ b/fluentd/vendored_gem_src/ruby2_keywords/ruby2_keywords.gemspec @@ -15,7 +15,7 @@ Gem::Specification.new do |s| s.licenses = ["Ruby".freeze, "BSD-2-Clause".freeze] s.rdoc_options = ["--main".freeze, "README.md".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.0.0".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Shim library for Module#ruby2_keywords".freeze end diff --git a/fluentd/vendored_gem_src/timers/timers.gemspec b/fluentd/vendored_gem_src/timers/timers.gemspec index e98ed1b20..2c0a9e655 100644 --- a/fluentd/vendored_gem_src/timers/timers.gemspec +++ b/fluentd/vendored_gem_src/timers/timers.gemspec @@ -12,21 +12,17 @@ Gem::Specification.new do |s| s.files = ["lib/timers.rb".freeze, "lib/timers/events.rb".freeze, "lib/timers/group.rb".freeze, "lib/timers/interval.rb".freeze, "lib/timers/priority_heap.rb".freeze, "lib/timers/timer.rb".freeze, "lib/timers/version.rb".freeze, "lib/timers/wait.rb".freeze] s.homepage = "https://github.com/socketry/timers".freeze s.licenses = ["MIT".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Pure Ruby one-shot and periodic timers.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, ["~> 3.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, ["~> 3.0"]) else s.add_dependency(%q.freeze, [">= 0"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/traces/traces.gemspec b/fluentd/vendored_gem_src/traces/traces.gemspec index 0a2c99343..ee6f73bed 100644 --- a/fluentd/vendored_gem_src/traces/traces.gemspec +++ b/fluentd/vendored_gem_src/traces/traces.gemspec @@ -13,17 +13,15 @@ Gem::Specification.new do |s| s.files = ["lib/traces.rb".freeze, "lib/traces/backend.rb".freeze, "lib/traces/backend/console.rb".freeze, "lib/traces/backend/test.rb".freeze, "lib/traces/context.rb".freeze, "lib/traces/provider.rb".freeze, "lib/traces/version.rb".freeze] s.homepage = "https://github.com/socketry/traces".freeze s.licenses = ["MIT".freeze] - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Application instrumentation and tracing.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, ["~> 3.0"]) - else - s.add_dependency(%q.freeze, ["~> 3.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, ["~> 3.0"]) else s.add_dependency(%q.freeze, ["~> 3.0"]) end diff --git a/fluentd/vendored_gem_src/tzinfo-data/tzinfo-data.gemspec b/fluentd/vendored_gem_src/tzinfo-data/tzinfo-data.gemspec index 79bdff5bc..4a4170ecf 100644 --- a/fluentd/vendored_gem_src/tzinfo-data/tzinfo-data.gemspec +++ b/fluentd/vendored_gem_src/tzinfo-data/tzinfo-data.gemspec @@ -18,17 +18,15 @@ Gem::Specification.new do |s| s.licenses = ["MIT".freeze] s.rdoc_options = ["--title".freeze, "TZInfo::Data".freeze, "--main".freeze, "README.md".freeze, "--exclude".freeze, "definitions".freeze, "--exclude".freeze, "indexes".freeze] s.required_ruby_version = Gem::Requirement.new(">= 1.8.7".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Timezone Data for TZInfo".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, [">= 1.0.0"]) - else - s.add_dependency(%q.freeze, [">= 1.0.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, [">= 1.0.0"]) else s.add_dependency(%q.freeze, [">= 1.0.0"]) end diff --git a/fluentd/vendored_gem_src/tzinfo/tzinfo.gemspec b/fluentd/vendored_gem_src/tzinfo/tzinfo.gemspec index ca6021d96..560c81a96 100644 --- a/fluentd/vendored_gem_src/tzinfo/tzinfo.gemspec +++ b/fluentd/vendored_gem_src/tzinfo/tzinfo.gemspec @@ -19,17 +19,15 @@ Gem::Specification.new do |s| s.licenses = ["MIT".freeze] s.rdoc_options = ["--title".freeze, "TZInfo".freeze, "--main".freeze, "README.md".freeze] s.required_ruby_version = Gem::Requirement.new(">= 1.9.3".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Time Zone Library".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_runtime_dependency(%q.freeze, ["~> 1.0"]) - else - s.add_dependency(%q.freeze, ["~> 1.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_runtime_dependency(%q.freeze, ["~> 1.0"]) else s.add_dependency(%q.freeze, ["~> 1.0"]) end diff --git a/fluentd/vendored_gem_src/validate_email/validate_email.gemspec b/fluentd/vendored_gem_src/validate_email/validate_email.gemspec index 332437ee1..ab08a677f 100644 --- a/fluentd/vendored_gem_src/validate_email/validate_email.gemspec +++ b/fluentd/vendored_gem_src/validate_email/validate_email.gemspec @@ -14,27 +14,20 @@ Gem::Specification.new do |s| s.extra_rdoc_files = ["README.markdown".freeze] s.files = ["README.markdown".freeze, "init.rb".freeze, "install.rb".freeze, "lib/locale/en.yml".freeze, "lib/validate_email.rb".freeze] s.homepage = "http://github.com/perfectline/validates_email/tree/master".freeze - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Library for validating email addresses in Rails 3 models.".freeze if s.respond_to? :specification_version then s.specification_version = 3 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 1.1.2"]) - s.add_development_dependency(%q.freeze, [">= 3.0.0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_runtime_dependency(%q.freeze, [">= 2.2.5"]) - s.add_runtime_dependency(%q.freeze, [">= 3.0"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 1.1.2"]) - s.add_dependency(%q.freeze, [">= 3.0.0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 2.2.5"]) - s.add_dependency(%q.freeze, [">= 3.0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 1.1.2"]) + s.add_development_dependency(%q.freeze, [">= 3.0.0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 2.2.5"]) + s.add_runtime_dependency(%q.freeze, [">= 3.0"]) else s.add_dependency(%q.freeze, [">= 0"]) s.add_dependency(%q.freeze, [">= 1.1.2"]) diff --git a/fluentd/vendored_gem_src/validate_url/validate_url.gemspec b/fluentd/vendored_gem_src/validate_url/validate_url.gemspec index 01362d274..e1dfd6041 100644 --- a/fluentd/vendored_gem_src/validate_url/validate_url.gemspec +++ b/fluentd/vendored_gem_src/validate_url/validate_url.gemspec @@ -14,29 +14,21 @@ Gem::Specification.new do |s| s.extra_rdoc_files = ["LICENSE.md".freeze, "README.md".freeze] s.files = ["LICENSE.md".freeze, "README.md".freeze, "init.rb".freeze, "install.rb".freeze, "lib/locale/ar.yml".freeze, "lib/locale/de.yml".freeze, "lib/locale/en.yml".freeze, "lib/locale/es.yml".freeze, "lib/locale/fr.yml".freeze, "lib/locale/it.yml".freeze, "lib/locale/ja.yml".freeze, "lib/locale/km.yml".freeze, "lib/locale/pl.yml".freeze, "lib/locale/pt-BR.yml".freeze, "lib/locale/ro.yml".freeze, "lib/locale/ru.yml".freeze, "lib/locale/tr.yml".freeze, "lib/locale/vi.yml".freeze, "lib/locale/zh-CN.yml".freeze, "lib/locale/zh-TW.yml".freeze, "lib/validate_url.rb".freeze, "lib/validate_url/rspec_matcher.rb".freeze] s.homepage = "http://github.com/perfectline/validates_url/tree/master".freeze - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Library for validating urls in Rails.".freeze if s.respond_to? :specification_version then s.specification_version = 4 + end - if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 0"]) - s.add_development_dependency(%q.freeze, [">= 1.1.2"]) - s.add_runtime_dependency(%q.freeze, [">= 3.0.0"]) - s.add_runtime_dependency(%q.freeze, [">= 0"]) - else - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 0"]) - s.add_dependency(%q.freeze, [">= 1.1.2"]) - s.add_dependency(%q.freeze, [">= 3.0.0"]) - s.add_dependency(%q.freeze, [">= 0"]) - end + if s.respond_to? :add_runtime_dependency then + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 0"]) + s.add_development_dependency(%q.freeze, [">= 1.1.2"]) + s.add_runtime_dependency(%q.freeze, [">= 3.0.0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) else s.add_dependency(%q.freeze, [">= 0"]) s.add_dependency(%q.freeze, [">= 0"]) diff --git a/fluentd/vendored_gem_src/zeitwerk/zeitwerk.gemspec b/fluentd/vendored_gem_src/zeitwerk/zeitwerk.gemspec index 981a493bb..39d6a6e20 100644 --- a/fluentd/vendored_gem_src/zeitwerk/zeitwerk.gemspec +++ b/fluentd/vendored_gem_src/zeitwerk/zeitwerk.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/fxn/zeitwerk".freeze s.licenses = ["MIT".freeze] s.required_ruby_version = Gem::Requirement.new(">= 2.5".freeze) - s.rubygems_version = "3.0.9".freeze + s.rubygems_version = "3.1.4".freeze s.summary = "Efficient and thread-safe constant autoloader".freeze end