Skip to content

Commit d26a217

Browse files
authored
Merge pull request #2642 from buzzdeee/master
(FACT-3163) Add support for OpenBSD
2 parents 82b8cc7 + fff8397 commit d26a217

File tree

130 files changed

+3405
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+3405
-3
lines changed

Diff for: lib/facter/config.rb

+3-2
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ module Config
4444
]
4545
},
4646
{
47-
'Bsd' => [
48-
'Freebsd'
47+
'Bsd' => %w[
48+
Freebsd
49+
Openbsd
4950
]
5051
},
5152
'Solaris',

Diff for: lib/facter/facts/openbsd/augeas/version.rb

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Augeas
6+
class Version
7+
FACT_NAME = 'augeas.version'
8+
ALIASES = 'augeasversion'
9+
10+
def call_the_resolver
11+
fact_value = Facter::Resolvers::Augeas.resolve(:augeas_version)
12+
13+
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
14+
Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
15+
end
16+
end
17+
end
18+
end
19+
end

Diff for: lib/facter/facts/openbsd/dmi/bios/vendor.rb

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Dmi
6+
module Bios
7+
class Vendor
8+
FACT_NAME = 'dmi.bios.vendor'
9+
ALIASES = 'bios_vendor'
10+
11+
def call_the_resolver
12+
fact_value = Facter::Resolvers::Openbsd::DmiBios.resolve(:bios_vendor)
13+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14+
end
15+
end
16+
end
17+
end
18+
end
19+
end

Diff for: lib/facter/facts/openbsd/dmi/bios/version.rb

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Dmi
6+
module Bios
7+
class Version
8+
FACT_NAME = 'dmi.bios.version'
9+
ALIASES = 'bios_version'
10+
11+
def call_the_resolver
12+
fact_value = Facter::Resolvers::Openbsd::DmiBios.resolve(:bios_version)
13+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14+
end
15+
end
16+
end
17+
end
18+
end
19+
end

Diff for: lib/facter/facts/openbsd/dmi/manufacturer.rb

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Dmi
6+
class Manufacturer
7+
FACT_NAME = 'dmi.manufacturer'
8+
ALIASES = 'manufacturer'
9+
10+
def call_the_resolver
11+
fact_value = Facter::Resolvers::Openbsd::DmiBios.resolve(:sys_vendor)
12+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
13+
end
14+
end
15+
end
16+
end
17+
end

Diff for: lib/facter/facts/openbsd/dmi/product/name.rb

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Dmi
6+
module Product
7+
class Name
8+
FACT_NAME = 'dmi.product.name'
9+
ALIASES = 'productname'
10+
11+
def call_the_resolver
12+
fact_value = Facter::Resolvers::Openbsd::DmiBios.resolve(:product_name)
13+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14+
end
15+
end
16+
end
17+
end
18+
end
19+
end
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Dmi
6+
module Product
7+
class SerialNumber
8+
FACT_NAME = 'dmi.product.serial_number'
9+
ALIASES = 'serialnumber'
10+
11+
def call_the_resolver
12+
fact_value = Facter::Resolvers::Openbsd::DmiBios.resolve(:product_serial)
13+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14+
end
15+
end
16+
end
17+
end
18+
end
19+
end

Diff for: lib/facter/facts/openbsd/dmi/product/uuid.rb

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Dmi
6+
module Product
7+
class Uuid
8+
FACT_NAME = 'dmi.product.uuid'
9+
ALIASES = 'uuid'
10+
11+
def call_the_resolver
12+
fact_value = Facter::Resolvers::Openbsd::DmiBios.resolve(:product_uuid)
13+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14+
end
15+
end
16+
end
17+
end
18+
end
19+
end

Diff for: lib/facter/facts/openbsd/ec2_metadata.rb

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
class Ec2Metadata
6+
FACT_NAME = 'ec2_metadata'
7+
8+
def call_the_resolver
9+
return Facter::ResolvedFact.new(FACT_NAME, nil) unless aws_hypervisors?
10+
11+
fact_value = Facter::Resolvers::Ec2.resolve(:metadata)
12+
13+
Facter::ResolvedFact.new(FACT_NAME, fact_value&.empty? ? nil : fact_value)
14+
end
15+
16+
private
17+
18+
def aws_hypervisors?
19+
Facter::Util::Facts::Posix::VirtualDetector.platform =~ /kvm|xen|aws/
20+
end
21+
end
22+
end
23+
end

Diff for: lib/facter/facts/openbsd/ec2_userdata.rb

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
class Ec2Userdata
6+
FACT_NAME = 'ec2_userdata'
7+
8+
def call_the_resolver
9+
return Facter::ResolvedFact.new(FACT_NAME, nil) unless aws_hypervisors?
10+
11+
fact_value = Facter::Resolvers::Ec2.resolve(:userdata)
12+
13+
Facter::ResolvedFact.new(FACT_NAME, fact_value&.empty? ? nil : fact_value)
14+
end
15+
16+
private
17+
18+
def aws_hypervisors?
19+
Facter::Util::Facts::Posix::VirtualDetector.platform =~ /kvm|xen|aws/
20+
end
21+
end
22+
end
23+
end

Diff for: lib/facter/facts/openbsd/facterversion.rb

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
class Facterversion
6+
FACT_NAME = 'facterversion'
7+
8+
def call_the_resolver
9+
fact_value = Facter::Resolvers::Facterversion.resolve(:facterversion)
10+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
11+
end
12+
end
13+
end
14+
end

Diff for: lib/facter/facts/openbsd/identity/gid.rb

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Identity
6+
class Gid
7+
FACT_NAME = 'identity.gid'
8+
9+
def call_the_resolver
10+
fact_value = Facter::Resolvers::PosxIdentity.resolve(:gid)
11+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
12+
end
13+
end
14+
end
15+
end
16+
end

Diff for: lib/facter/facts/openbsd/identity/group.rb

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Identity
6+
class Group
7+
FACT_NAME = 'identity.group'
8+
ALIASES = 'gid'
9+
10+
def call_the_resolver
11+
fact_value = Facter::Resolvers::PosxIdentity.resolve(:group)
12+
13+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14+
end
15+
end
16+
end
17+
end
18+
end

Diff for: lib/facter/facts/openbsd/identity/privileged.rb

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Identity
6+
class Privileged
7+
FACT_NAME = 'identity.privileged'
8+
9+
def call_the_resolver
10+
fact_value = Facter::Resolvers::PosxIdentity.resolve(:privileged)
11+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
12+
end
13+
end
14+
end
15+
end
16+
end

Diff for: lib/facter/facts/openbsd/identity/uid.rb

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Identity
6+
class Uid
7+
FACT_NAME = 'identity.uid'
8+
9+
def call_the_resolver
10+
fact_value = Facter::Resolvers::PosxIdentity.resolve(:uid)
11+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
12+
end
13+
end
14+
end
15+
end
16+
end

Diff for: lib/facter/facts/openbsd/identity/user.rb

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
module Identity
6+
class User
7+
FACT_NAME = 'identity.user'
8+
ALIASES = 'id'
9+
10+
def call_the_resolver
11+
fact_value = Facter::Resolvers::PosxIdentity.resolve(:user)
12+
[Facter::ResolvedFact.new(FACT_NAME, fact_value), Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
13+
end
14+
end
15+
end
16+
end
17+
end

Diff for: lib/facter/facts/openbsd/ipaddress6_interfaces.rb

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
class Ipaddress6Interfaces
6+
FACT_NAME = 'ipaddress6_.*'
7+
TYPE = :legacy
8+
9+
def call_the_resolver
10+
arr = []
11+
interfaces = Facter::Resolvers::Networking.resolve(:interfaces)
12+
interfaces&.each do |interface_name, info|
13+
arr << Facter::ResolvedFact.new("ipaddress6_#{interface_name}", info[:ip6], :legacy) if info[:ip6]
14+
end
15+
16+
arr
17+
end
18+
end
19+
end
20+
end

Diff for: lib/facter/facts/openbsd/ipaddress_interfaces.rb

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
class IpaddressInterfaces
6+
FACT_NAME = 'ipaddress_.*'
7+
TYPE = :legacy
8+
9+
def call_the_resolver
10+
arr = []
11+
interfaces = Facter::Resolvers::Networking.resolve(:interfaces)
12+
interfaces&.each do |interface_name, info|
13+
arr << Facter::ResolvedFact.new("ipaddress_#{interface_name}", info[:ip], :legacy) if info[:ip]
14+
end
15+
16+
arr
17+
end
18+
end
19+
end
20+
end

Diff for: lib/facter/facts/openbsd/is_virtual.rb

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
class IsVirtual
6+
FACT_NAME = 'is_virtual'
7+
8+
def call_the_resolver
9+
fact_value = Facter::Util::Facts::Posix::VirtualDetector.platform
10+
11+
Facter::ResolvedFact.new(FACT_NAME, check_if_virtual(fact_value))
12+
end
13+
14+
private
15+
16+
def check_if_virtual(found_vm)
17+
Facter::Util::Facts::PHYSICAL_HYPERVISORS.count(found_vm).zero?
18+
end
19+
end
20+
end
21+
end

Diff for: lib/facter/facts/openbsd/kernel.rb

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
class Kernel
6+
FACT_NAME = 'kernel'
7+
8+
def call_the_resolver
9+
fact_value = Facter::Resolvers::Uname.resolve(:kernelname)
10+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
11+
end
12+
end
13+
end
14+
end

Diff for: lib/facter/facts/openbsd/kernelrelease.rb

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# frozen_string_literal: true
2+
3+
module Facts
4+
module Openbsd
5+
class Kernelrelease
6+
FACT_NAME = 'kernelrelease'
7+
8+
def call_the_resolver
9+
fact_value = Facter::Resolvers::Uname.resolve(:kernelrelease)
10+
Facter::ResolvedFact.new(FACT_NAME, fact_value)
11+
end
12+
end
13+
end
14+
end

0 commit comments

Comments
 (0)