Install code on respective boxes. On the server, install in /opt/ip-updater/. On the client install in /opt/ip-updater-node. Remove CLIENT- or SERVER- from the filenames.
Make sure that the IP addresses, host names, and file paths are all filled in. Don't forget to make the *.sh files executable.
Copy the *.service and *.socket files into /etc/systemd/system/ and run systemctl daemon-reload and systemctl enable ip_updater... on all of your boxes. Note: Symlinks will not work
These services should be available upon reboot.
Note: The machine with a static IP must be the server and must be fully running before the clients boot to make sure the message makes it to the hosts file of the server with the static IP.
I updated it with some changes that I made. I think that should set it up for success (it works on my machines) so give it a try and let me know if it works for you!
Things I'd still like to do to improve this software:
/etc/hostsfiles to the python script)