diff --git a/glicid/services/networking.scm b/glicid/services/networking.scm index efafac5..a4c1883 100644 --- a/glicid/services/networking.scm +++ b/glicid/services/networking.scm @@ -50,15 +50,56 @@ (start #~(make-forkexec-constructor (list #$(file-append squid "/sbin/squid") -; "-d" #$loglevel -; "-N" "-f" #$config-file ) #:pid-file #$pid-file #:log-file #$log-file + #:user (passwd:uid (getpwnam "squid")) + #:group (passwd:gid (getpwnam "squid")) #:resource-limits '((nofile 16384 16384)) )) (stop #~(make-kill-destructor)) + (actions (list + (shepherd-action + (name 'reload) + (documentation "Reload the settings file from disk.") + (procedure #~(lambda _ (exec-command + (list + #$(file-append squid "/sbin/squid") + "-d" #$loglevel + "-N" + "-k" "reconfigure" + "-f" #$config-file + ) + )#t)) + ) + (shepherd-action + (name 'check-config) + (documentation "Check the settings file from disk.") + (procedure #~(lambda _ (exec-command + (list + #$(file-append squid "/sbin/squid") + "-d" #$loglevel + "-N" + "-k" "parse" + "-f" #$config-file + ) + )#t)) + ) + (shepherd-action + (name 'kill) + (documentation "Ultimatly kill the squid process.") + (procedure #~(lambda _ (exec-command + (list + #$(file-append squid "/sbin/squid") + "-d" #$loglevel + "-N" + "-k" "kill" + "-f" #$config-file + ) + )#t)) + ) + )) ) ) )