Merge pull request 'feat: add dhcp servers' (#145) from neoloc/dhcp-server into develop
Reviewed-on: unkinben/puppet-prod#145
This commit is contained in:
commit
d64e185919
@ -29,6 +29,7 @@ mod 'puppet-prometheus', '13.4.0'
|
||||
mod 'puppet-grafana', '13.1.0'
|
||||
mod 'puppet-consul', '8.0.0'
|
||||
mod 'puppet-vault', '4.1.0'
|
||||
mod 'puppet-dhcp', '6.1.0'
|
||||
|
||||
# other
|
||||
mod 'ghoneycutt-puppet', '3.3.0'
|
||||
|
||||
55
hieradata/country/au/region/drw1/infra/dhcp/server.yaml
Normal file
55
hieradata/country/au/region/drw1/infra/dhcp/server.yaml
Normal file
@ -0,0 +1,55 @@
|
||||
---
|
||||
profiles::dhcp::server::ntpservers:
|
||||
- ntp01.main.unkin.net
|
||||
- ntp02.main.unkin.net
|
||||
profiles::dhcp::server::interfaces:
|
||||
- eth0
|
||||
profiles::dhcp::server::default_lease_time: 1200
|
||||
profiles::dhcp::server::globaloptions:
|
||||
- 'arch code 93 = unsigned integer 16'
|
||||
|
||||
profiles::dhcp::server::pools:
|
||||
syd1-prod:
|
||||
network: 198.18.15.0
|
||||
mask: 255.255.255.0
|
||||
range:
|
||||
- '198.18.15.200 198.18.15.220'
|
||||
gateway: 198.18.15.254
|
||||
nameservers:
|
||||
- 198.18.17.7
|
||||
- 198.18.17.8
|
||||
domain_name: main.unkin.net
|
||||
pxeserver: 198.18.17.48
|
||||
syd1-test:
|
||||
network: 198.18.16.0
|
||||
mask: 255.255.255.0
|
||||
range:
|
||||
- '198.18.16.200 198.18.16.220'
|
||||
gateway: 198.18.16.254
|
||||
nameservers:
|
||||
- 198.18.17.7
|
||||
- 198.18.17.8
|
||||
domain_name: main.unkin.net
|
||||
pxeserver: 198.18.17.48
|
||||
drw1-prod:
|
||||
network: 198.18.17.0
|
||||
mask: 255.255.255.0
|
||||
range:
|
||||
- '198.18.17.200 198.18.17.220'
|
||||
gateway: 198.18.17.1
|
||||
nameservers:
|
||||
- 198.18.17.7
|
||||
- 198.18.17.8
|
||||
domain_name: main.unkin.net
|
||||
pxeserver: 198.18.17.48
|
||||
|
||||
# UFI 64-bit
|
||||
profiles::dhcp::server::classes:
|
||||
UEFI-64:
|
||||
parameters:
|
||||
- 'match if option arch = 00:07 or option arch = 00:09'
|
||||
- 'filename "/ipxe.efi"'
|
||||
Legacy:
|
||||
parameters:
|
||||
- 'match if option arch = 00:00'
|
||||
- 'filename "/undionly.kpxe"'
|
||||
37
site/profiles/manifests/dhcp/server.pp
Normal file
37
site/profiles/manifests/dhcp/server.pp
Normal file
@ -0,0 +1,37 @@
|
||||
# profiles::dhcp::server
|
||||
class profiles::dhcp::server (
|
||||
Array[Stdlib::Host] $ntpservers = [
|
||||
'0.au.pool.ntp.org',
|
||||
'1.au.pool.ntp.org',
|
||||
'2.au.pool.ntp.org',
|
||||
'3.au.pool.ntp.org'
|
||||
],
|
||||
Array[String] $interfaces = ['eth0'],
|
||||
Integer $default_lease_time = 86400,
|
||||
Array[String] $globaloptions = [],
|
||||
Hash $pools = {},
|
||||
Hash $classes = {},
|
||||
){
|
||||
|
||||
class { 'dhcp':
|
||||
service_ensure => running,
|
||||
interfaces => $interfaces,
|
||||
ntpservers => $ntpservers,
|
||||
default_lease_time => $default_lease_time,
|
||||
globaloptions => $globaloptions
|
||||
}
|
||||
|
||||
# if pools, import them
|
||||
$pools.each | $name, $data | {
|
||||
dhcp::pool { $name:
|
||||
* => $data,
|
||||
}
|
||||
}
|
||||
|
||||
# if classes, import them
|
||||
$classes.each | $name, $data | {
|
||||
dhcp::dhcp_class { $name:
|
||||
* => $data,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,4 +2,5 @@
|
||||
class roles::infra::dhcp::server {
|
||||
include profiles::defaults
|
||||
include profiles::base
|
||||
include profiles::dhcp::server
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user