kea-custom-hooks
FeM custom hooks libraries for Kea DHCP
Deployment

Deployment requirements

A few packages need to be installed on the system where kea-custom-hooks shall be deployed. See the list of runtime dependencies at Installation.

Kea-custom-hooks require some software at runtme to fully work. Depending on the used hooks, some software is required, some is not:

  • Redis
  • PostgreSQL

Furthermore, kea-custom-hooks require a working connection to the AdminDB database servers. Credentials for kea-custom-hooks must be provided for some components to function properly.

System setup

Kea-custom-hooks need access to a local Redis server for caching of various data, e.g. assigned leases in the last X minutes. For updating the Kea host reservation database, kea-custom-hooks need to have access to the host reservation database and at least one AdminDB database server. For incremental updates, read-only access is sufficient, so access to DB slaves should be sufficient. A full sync, however, might still require write access and thus a connection to a DB master.

Kea hooks installation

Kea hooks are installed in the standard way:

  • The hooks libraries are installed using ninja install or make install, if kea-custom-hooks isn't installed using the system package manager (recommended).
  • Kea needs to be configured to load the libraries. Please note the respective hooks' README files for information on how to configure the hooks and which Kea component needs to load the respective hooks (usually this is one of the DHCP server components). All hooks' README files are listed on the Main page.

Kea hooks configuration

The exact configuration files/sections are described in the individual hooks' README files, listed on the Main page.

A general deployment usually requires the following configuration:

  • Configuration of the admindb-arpwatch-exporter in the Kea DHCP server configuration: The Redis servers for lease caching need to be configured.
  • Configuration of the admindb-host-reservation-importer
    • in the Kea configuration: Specify the path to the importer configuration file.
    • in the importer configuration file: Specify the local host reservation database connection and connections for all AdminDB database servers.

System services

All parts running as a Kea hook are controlled completely by Kea and thus don't have separate init scripts. Restarting/reloading of hooks happens with Kea reloads/restarts.

Parts running outside of Kea as a standalone binary bring a system service or init script with them. The services follow the naming convention kch-[COMPONENT_NAME] (kch is an abbreviation for “kea-custom-hooks”). Thus, a component xmlrpc-interface has the service name kch-xmlrpc-interface.