File berghain.service of Package berghain
# This unit file is part of the berghain package # Georg Pfuetzenreuter <mail+rpm@georg-pfuetzenreuter.net> [Unit] Description=Berghain Stream Processing Offload Agent HAProxy ConditionFileIsExecutable=/usr/bin/%N [Service] User=%N Group=%N # to have the socket created with group-writable permissions # needed for the POSIX ACL to let the "haproxy" user read+write UMask=007 ExecStart=/usr/bin/%N -config /etc/%N.yaml # executing the application manually, it correctly cleans up after itself # why is it not doing so under systemd? ExecStopPost=rm /run/berghain/spop.sock KeyringMode=private LockPersonality=yes MemoryDenyWriteExecute=yes MountFlags=private NoNewPrivileges=yes PrivateDevices=yes PrivateTmp=yes ProcSubset=pid ProtectClock=yes ProtectControlGroups=yes ProtectHome=yes ProtectHostname=yes ProtectKernelLogs=yes ProtectKernelModules=yes ProtectKernelTunables=yes ProtectProc=invisible ProtectSystem=strict RemoveIPC=yes RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX RestrictNamespaces=yes RestrictRealtime=yes RestrictSUIDSGID=yes SystemCallArchitectures=native # ioctl for rm SystemCallFilter=@basic-io @file-system @io-event @ipc @network-io @process @signal madvise ioctl Restart=on-failure RestartSec=10s StartLimitBurst=3 [Install] WantedBy=multi-user.target