This binary watches -fileToWatch and sends a SIGHUP to the process id (PID) found in -pidFile
build for linux and docker
make
notes
The included Dockerfile is a POC on how to send a SIGHUP to squid-cache when it's configuration changes.
To demonstrate:
build for linux and docker (above).
run the new container: docker run -ti -p 3128:3128 hup-on-notify-example
in a separate terminal, run the golang binary in the squid container: docker exec -ti $(docker ps | grep hup-on-notify-example | awk '{print $1}') /usr/local/bin/hup-on-notify
in a separate terminal, edit the squid.conf: docker exec -ti $(docker ps | grep hup-on-notify-example | awk '{print $1}') vi /etc/squid/squid.conf and save changes.
You should see squid reload.
stupid docker tricks
bind mount the squid.conf to /etc/squid/squid.conf
stupid k8s tricks
run the golang binary as an additional container in the same pod as the process in question. mount the -fileToWatch as a volume from a ConfigMap. watch your process in question receive a SIGHUP when the ConfigMap object changes.