fluent-plugin-fluent-package-update-notifier 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bf90e9f7087062ad11435cdfdf83799e06ec3f27b0866e794d98ec0bd4d904c8
4
- data.tar.gz: 6cc31d61d115e3c277eff7670da0f8056bac9949e33f8d27753c90b176a42174
3
+ metadata.gz: a7d6e89b8e1461ad2b66eefe593aa3bbbef91877714e6cc1182f2d39c29a2e9a
4
+ data.tar.gz: 677dfc8067c9c2f96654dc8fa8ec3c684da9dc86369871540155dc4722a2f254
5
5
  SHA512:
6
- metadata.gz: 5f82f1c34bfa6b2bb8e7bca0dbc223958e4f32771ea28a97c4d625e41a55e19c27cada4234f2af0b119ead4628a2d3282611c67a1ed63396df6ee3a1a3d1c0c3
7
- data.tar.gz: a1fbcd13577f46364d342da34b74820a08981f5bef0d63f05a05a915b96b5ddae9192d886081a8ea43eaf75be1afe42c57657bb78ac6e3327fb8cd5e8a50c2ba
6
+ metadata.gz: dceb6a616cc4e09ed4702faf8bc146efdd169039ec0349226fca25a8297aa96277ea8565053a5d4ac82f57512d4366af8feb9e8e835da2165c3853de2d863100
7
+ data.tar.gz: 911a18da45bbdb6ad66fa00e0ec53cfec3c670f3c078af95cfa90e85ccd469add7cda3e13cc84de53c1dd94edbe7feff036b39f33479a3b3b7100597d43ffbbb
data/.rubocop.yml ADDED
@@ -0,0 +1,35 @@
1
+ plugins:
2
+ - rubocop-performance
3
+ - rubocop-fluentd
4
+
5
+ AllCops:
6
+ Exclude:
7
+ - 'vendor/**/*'
8
+ - 'test/**/*'
9
+ NewCops: enable
10
+ SuggestExtensions: false
11
+ TargetRubyVersion: 2.7
12
+
13
+ Layout:
14
+ Enabled: false
15
+ Style:
16
+ Enabled: false
17
+ Lint:
18
+ Enabled: false
19
+ Naming:
20
+ Enabled: false
21
+ Metrics:
22
+ Enabled: false
23
+ Gemspec:
24
+ Enabled: false
25
+ Security:
26
+ Enabled: false
27
+ Performance:
28
+ Enabled: false
29
+
30
+ Lint/FluentdPluginLogScope:
31
+ Enabled: true
32
+ Lint/FluentdPluginConfigParamDefaultTime:
33
+ Enabled: true
34
+ Performance/FluentdPluginLogStringInterpolation:
35
+ Enabled: true
data/CHANGELOG.md ADDED
@@ -0,0 +1,13 @@
1
+ # 0.2.1 - 2025-08-22
2
+
3
+ * Relax log level (#6)
4
+ * Use :cmd backend for Windows platform (#4)
5
+ * gemspec: move development dependencies to Gemfile (#3)
6
+
7
+ # 0.2.0 - 2025-07-14
8
+
9
+ * Make robust for future distribution release
10
+
11
+ # 0.1.0 - 2025-04-22
12
+
13
+ * Initial release
@@ -2,6 +2,7 @@ require 'open-uri'
2
2
  require 'json'
3
3
  require 'tmpdir'
4
4
  require 'rbconfig'
5
+ require 'specinfra'
5
6
 
6
7
  module Fluent
7
8
  module Plugin
@@ -23,6 +24,8 @@ module Fluent
23
24
  @logger.error "Failed to load #{ENV["FLUENT_PACKAGE_CONFIG"] || DEFAULT_PACKAGE_CONFIG_PATH}"
24
25
  end
25
26
  @host_os = RbConfig::CONFIG['host_os']
27
+ Specinfra.configuration.backend = windows? ? :cmd : :exec
28
+ @os_info = Specinfra.backend.os_info
26
29
  end
27
30
 
28
31
  def windows?
@@ -76,14 +79,13 @@ module Fluent
76
79
  [base_version.segments[1], target_version.segments[1]] == [0, 0]
77
80
  end
78
81
 
79
- def parse_os_release(key)
80
- File.open("/etc/os-release").readlines.each do |line|
81
- if line.start_with?(key)
82
- line.chomp =~ /^#{key}=(.+)$/
83
- return $1
84
- end
82
+ def package_arch
83
+ case @os_info[:family]
84
+ when "debian", "ubuntu"
85
+ @os_info[:arch] == "x86_64" ? "amd64" : "arm64"
86
+ when "redhat", "amazon"
87
+ @os_info[:arch] == "x86_64" ? "x64_64" : "aarch64"
85
88
  end
86
- nil
87
89
  end
88
90
 
89
91
  def package_url(prefix, distribution, version)
@@ -91,47 +93,37 @@ module Fluent
91
93
  channel = @options[:lts] ? "lts/#{major}" : major
92
94
  case distribution
93
95
  when "debian", "ubuntu"
94
- release = parse_os_release("VERSION_CODENAME")
95
- "#{prefix}/#{channel}/#{distribution}/#{release}/pool/contrib/f/fluent-package/fluent-package_#{version}-1_amd64.deb"
96
- when "redhat/8"
97
- "#{prefix}/#{channel}/#{distribution}/x86_64/fluent-package_#{version}-1.el8.x86_64.rpm"
98
- when "redhat/9"
99
- "#{prefix}/#{channel}/#{distribution}/x86_64/fluent-package_#{version}-1.el9.x86_64.rpm"
96
+ codename = @os_info[:codename]
97
+ File.join([prefix, channel, distribution, codename, "pool/contrib/f/fluent-package",
98
+ "fluent-package_#{version}-1_#{package_arch}.deb"])
99
+ when "redhat"
100
+ major = Gem::Version.new(@os_info[:release]).segments.first
101
+ File.join([prefix, channel, distribution, major, package_arch,
102
+ "fluent-package_#{version}-1.el#{major}.#{package_arch}.rpm"])
100
103
  when "amazon/2023"
101
- "#{prefix}/#{channel}/#{distribution}/x86_64/fluent-package_#{version}-1.amzn2023.x86_64.rpm"
104
+ File.join([prefix, channel, distribution, package_arch,
105
+ "fluent-package_#{version}-1.amzn2023.#{package_arch}.rpm"])
102
106
  when "amazon/2"
103
- "#{prefix}/#{channel}/#{distribution}/x86_64/fluent-package_#{version}-1.amzn2.x86_64.rpm"
107
+ arch = @os_info[:arch] == "x86_64" ? "x64_64" : "aarch64"
108
+ File.join([prefix, channel, distribution, package_arch,
109
+ "fluent-package_#{version}-1.amzn2.#{package_arch}.rpm"])
104
110
  when "windows"
105
- "#{prefix}/#{channel}/#{distribution}/fluent-package-#{version}-x64.msi"
111
+ File.join([prefix, channel, distribution,
112
+ "fluent-package-#{version}-x64.msi"])
106
113
  end
107
114
  end
108
115
 
109
116
  def generate_remote_package_url(url_prefix, target_version)
110
117
  if linux?
111
- os_release_id = parse_os_release("ID")
112
- case os_release_id
113
- when "debian"
114
- url = package_url(url_prefix, "debian", target_version)
115
- @logger.debug("Check existence of #{url}")
116
- url
117
- when "ubuntu"
118
- package_url(url_prefix, "ubuntu", target_version)
119
- when "rocky", "almalinux", "amzn"
120
- cpe = parse_os_release("CPE_NAME")
121
- case cpe
122
- when /rocky:8/, /almalinux:8/
123
- package_url(url_prefix, "redhat/8", target_version)
124
- when /rocky:9/, /almalinux:9/
125
- package_url(url_prefix, "redhat/9", target_version)
126
- when /amazon_linux:2023/, /amazon_linux:2/
127
- version = parse_os_release("VERSION")
128
- case version
129
- when "2023"
130
- package_url(url_prefix, "amazon/2023", target_version)
131
- when "2"
132
- package_url(url_prefix, "amazon/2", target_version)
133
- end
134
- end
118
+ case @os_info[:family]
119
+ when "debian", "ubuntu"
120
+ family_codename = "#{@os_info[:family]}/#{@os_info[:codename]}"
121
+ package_url(url_prefix, family_codename, target_version)
122
+ when "redhat"
123
+ package_url(url_prefix, "redhat", target_version)
124
+ when "amazon"
125
+ major = Gem::Version.new(@os_info[:release]).segments.first
126
+ package_url(url_prefix, "amazon/#{major}", target_version)
135
127
  end
136
128
  elsif windows?
137
129
  package_url(url_prefix, "windows", target_version)
@@ -72,7 +72,7 @@ module Fluent
72
72
  checker = Fluent::Plugin::FluentPackage::UpdateChecker.new(options)
73
73
  checker.run
74
74
  rescue => e
75
- log.error "Failed to check updates: #{e.message}"
75
+ log.info { "Failed to check updates: #{e.message}" }
76
76
  end
77
77
  end
78
78
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-fluent-package-update-notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kentaro Hayashi
@@ -10,61 +10,19 @@ cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: bundler
13
+ name: specinfra
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '2.4'
19
- type: :development
20
- prerelease: false
21
- version_requirements: !ruby/object:Gem::Requirement
22
- requirements:
23
- - - "~>"
24
- - !ruby/object:Gem::Version
25
- version: '2.4'
26
- - !ruby/object:Gem::Dependency
27
- name: rake
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - "~>"
31
- - !ruby/object:Gem::Version
32
- version: 13.2.1
33
- type: :development
34
- prerelease: false
35
- version_requirements: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: 13.2.1
40
- - !ruby/object:Gem::Dependency
41
- name: test-unit
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: 3.6.7
47
- type: :development
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: 3.6.7
54
- - !ruby/object:Gem::Dependency
55
- name: test-unit-rr
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: 1.0.5
61
- type: :development
18
+ version: 2.94.1
19
+ type: :runtime
62
20
  prerelease: false
63
21
  version_requirements: !ruby/object:Gem::Requirement
64
22
  requirements:
65
23
  - - "~>"
66
24
  - !ruby/object:Gem::Version
67
- version: 1.0.5
25
+ version: 2.94.1
68
26
  - !ruby/object:Gem::Dependency
69
27
  name: fluentd
70
28
  requirement: !ruby/object:Gem::Requirement
@@ -92,6 +50,8 @@ executables: []
92
50
  extensions: []
93
51
  extra_rdoc_files: []
94
52
  files:
53
+ - ".rubocop.yml"
54
+ - CHANGELOG.md
95
55
  - LICENSE
96
56
  - README.md
97
57
  - Rakefile
@@ -120,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
80
  - !ruby/object:Gem::Version
121
81
  version: '0'
122
82
  requirements: []
123
- rubygems_version: 3.6.7
83
+ rubygems_version: 3.6.9
124
84
  specification_version: 4
125
85
  summary: Notify latest version of fluent-package
126
86
  test_files: []