From 7b076261623c400eef748bf72091fca0d3962a35 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Sun, 29 Jun 2025 11:55:32 +1000 Subject: [PATCH] feat: add local pool - the listening interface must match a subnet, or no service will start --- hieradata/virtual/lxc.yaml | 3 +++ site/profiles/manifests/dhcp/server.pp | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/hieradata/virtual/lxc.yaml b/hieradata/virtual/lxc.yaml index 8eb12d0..aacc2a3 100644 --- a/hieradata/virtual/lxc.yaml +++ b/hieradata/virtual/lxc.yaml @@ -8,3 +8,6 @@ vault::disable_mlock: true # manage jellyfin changes profiles::media::jellyfin::data_dir: /shared/apps/jellyfin + +# dhcp-server requirements +profiles::dhcp::server::empty_local_pool: true diff --git a/site/profiles/manifests/dhcp/server.pp b/site/profiles/manifests/dhcp/server.pp index 726ff19..358a84d 100644 --- a/site/profiles/manifests/dhcp/server.pp +++ b/site/profiles/manifests/dhcp/server.pp @@ -11,6 +11,7 @@ class profiles::dhcp::server ( Array[String] $globaloptions = [], Hash $pools = {}, Hash $classes = {}, + Boolean $empty_local_pool = false ){ if $facts['enc_role'] == 'roles::infra::dhcp::server' { @@ -35,5 +36,12 @@ class profiles::dhcp::server ( * => $data, } } + + if $empty_local_pool { + dhcp::pool {'local': + network => $facts['networking']['interfaces'][$network_primary_interface]['network'], + mask => $facts['networking']['interfaces'][$network_primary_interface]['netmask'], + } + } } }