Environment and listen ports

Network intent lives in Postgres. Process settings are LATTICE_* env vars.

There is no per-node dhcpd.conf for pools. Pools are IPAM rows. These env vars start the process.

VariableDefaultUsed by
LATTICE_PG_DSN(required)all
LATTICE_NODE_NAME(required, unique per dhcpd)dhcpd, api, worker
LATTICE_LISTEN_HTTP:8080api; dhcpd health; worker. Loopback on a community install.
LATTICE_LISTEN_DHCP:67dhcpd v4
LATTICE_LISTEN_DHCP6emptydhcpd v6 (unset = off)
LATTICE_LISTEN_DNS:53lattice-dns
LATTICE_TRUSTED_RELAYSempty = drop relayeddhcpd
LATTICE_QUARANTINE_TTL15mdhcpd / worker
LATTICE_SERVER_IPemptyserver-identifier
LATTICE_LOG_LEVELinfoall
LATTICE_ENTITLEMENT_PATH/etc/lattice/entitlement.jsonall. Console upload also stores the file in Postgres
LATTICE_ICMP_PROBEempty / falsedhcpd. true pings before Offer (Discover only). Off by default
LATTICE_CONFIGemptyoptional YAML (interfaces, server_ip)

DSN is in /etc/lattice/cluster.env. Use sslmode=require (or verify-full). Clock: UTC, chrony on every host. Community UI is https://<this-vm>. Replace the self-signed cert: HTTPS.