Skip to content

Config v2 - #6

Merged
LincolnBryant merged 11 commits into
mainfrom
config_v2
Jul 6, 2026
Merged

Config v2#6
LincolnBryant merged 11 commits into
mainfrom
config_v2

Conversation

@LincolnBryant

@LincolnBryant LincolnBryant commented Jul 6, 2026

Copy link
Copy Markdown
Owner

new config format along with a new organizational structure:

# ebb minimal configuration.
# unknown keys are rejected

[dhcp]

[[dhcp.subnet]]
cidr = "172.16.0.0/12"
interface = "pxe0"

[[dhcp.subnet.pool]]
range = "172.16.0.0/12"

The configuration also supports [[dhcp.proxy]] as I anticipate needing proxyDHCP.

There's a few pieces to note..

  1. Added a new config validator (ebb_config_validator.erl), defining a fixed schema, which takes a structural pass over the config file, and rejects unknown keys
    • this does NOT do semantic validation. that can come later as a second pass
  2. The dhcp supervisor spawns a supervisor for each subnet, and each subnet supervisor spawns a dhcpd binding to port 67, and pool server(s) for each subnet that handle given ranges
    • thus, interfaces are bound per subnet, and multiple pools can exist per subnet with different configurations (lease times, ranges, backend implementation)
  3. changes the default log format to be a bit more syslog friendly

this PR closes #5

@LincolnBryant
LincolnBryant merged commit ab9c2b2 into main Jul 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

configure interfaces and pools

1 participant