Atlas project concept

iscdhcp

Automate consistent DHCP configuration generation across multiple sites from a normalized file-based configuration layout. It ingests Configuration files (TOML/YAML/JSON/INI/CONF) and produces DHCP config text (stdout).

Type
Experiment
Lifecycle
Deprecated
Last touched
2022-07-12
Visibility
Public

Purpose

Automate consistent DHCP configuration generation across multiple sites from a normalized file-based configuration layout.

Current state

Last touched: 2022-07-12. Functionality and completeness: Core generator logic is implemented; documentation and validation tooling are pending.

Next step

Add baseline automated tests to cover critical flows; Add CI pipeline for build/test/lint; Document deployment/runtime environment (or add Dockerfile); Document interfaces (CLI flags, API endpoints, file formats); Add structured logging and basic health checks.

Interfaces

Inputs
  • Configuration files (TOML/YAML/JSON/INI/CONF)
Outputs
  • DHCP config text (stdout)

Reality to Action trace

Reality Ingestion

Not in scope.

Canonical Storage

Not in scope.

Automation Engines

Contributes in this stage.

Human Interfaces

Not in scope.

Operational Adoption

Contributes in this stage.

Core workflow

TBD. Document the 5-10 steps that define the core workflow.

Artifacts

  • `conf/` folder structure and file naming conventions (site code, subnet folders, host overrides)

Operational notes

Constraints and scars

  • Assumes CIDR masks of /22, /23, or /24; other masks abort with errors.

Reliability posture

Failure modes and safe behavior: Missing config files abort with errors; malformed values produce invalid DHCP output. Idempotency / retries / batching behavior: Deterministic output for a given config tree; no retries.

Observability

  • Logs: stdout/stderr from the script
  • Metrics/health checks: None documented
  • Logs: stdout/stderr from the shell script.

Security and privacy

Config files may include IP/MAC assignments; treat the conf/ directory as sensitive.

Ownership

Owners

Josh Barton

Users

Josh Barton (owner)

iscdhcp

Architecture & Major Components

  • High-level diagram (text):

    • Entry/trigger -> core logic -> outputs (details per docs below)
  • Entry points: iscdhcp/generate-dhcpd-conf.sh

  • Top-level folders: conf

  • Key abstractions: Config folder traversal and DHCP stanza generation

Setup / Build / Run

  • Build system(s): None (bash script).
  • Update conf/ files and run the generator to emit dhcpd.conf content.