Merge pull request 'feat: add/update location facts' (#97) from neoloc/location_facts into develop

Reviewed-on: unkinben/puppet-prod#97
This commit is contained in:
Ben Vincent 2023-12-26 13:23:17 +09:30
commit 920f12b45e
2 changed files with 29 additions and 1 deletions

View File

@ -0,0 +1,28 @@
# frozen_string_literal: true
# set country based on the subnet
Facter.add('country') do
setcode do
# use facts['networking']['ip']to find the promary IP address
ip = Facter.value(:networking)['ip']
# subnet to region mapping
subnet_to_country = {
'198.18.17.0/24' => 'au'
}
require 'ipaddr'
# Find the region for the IP
country = 'stateless' # default to 'stateless' if no country matches
subnet_to_country.each do |subnet, country_initial|
if IPAddr.new(subnet).include?(IPAddr.new(ip))
country = country_initial
break
end
end
country
end
end

View File

@ -9,7 +9,7 @@ Facter.add('region') do
# subnet to region mapping
subnet_to_region = {
'198.18.17.0/24' => 'au-drw-1'
'198.18.17.0/24' => 'drw1'
}
require 'ipaddr'