pykeadhcp icon indicating copy to clipboard operation
pykeadhcp copied to clipboard

Direct Connect to Socket

Open psuet opened this issue 1 year ago • 2 comments

Daemon/Area

All Daemons

Feature/Enhancement you are proposing

While the connection via REST-API is quite easy, this always requires the provisioning of a Kea CTRL Agent per Server.

I have implemented an extension to this project that provides an alternative Kea Object which uses Socket Paths instead of URLs. Otherwise its 100% compatible with the existing Kea Class API

KeaSocket:
    """Basic wrapper around requests module for interacting with the
    Kea Management API for the various daemons supported.

    Args:
        socket_path_dhcp4:      Socket Path for DHCP4 server (optional)
        socket_path_dhcp6:      Socket Path for DHCP6 server (optional)
        socket_path_ddns:       Socket Path for DDNS server (optional)
    """

This implementation is currently not ready for upstreaming, but I would like to upstream it, to contribute back.

Is this feature generally in-scope of the library? Are there any implementation details one would appreciate in the pull request?

Reason for Feature/Enhancement

In certain scenarios, it may be disadvantageous to have to deploy a Kea CTRL Agent and use HTTP compared to directly using the sockets provided by the corresponding daemon and used by the control agent.

This may be

  • more secure
  • less resource intensive
  • less management
  • architecturally advantageous

psuet avatar Jul 12 '23 13:07 psuet