From a287dca56695df90d5819098506a84149303a827 Mon Sep 17 00:00:00 2001 From: Christopher van de Sande Date: Tue, 19 Aug 2025 14:48:49 +0100 Subject: [PATCH 1/4] Update systemd unit file --- scripts/packages/nginx-agent.service | 23 ++++++++++------------- scripts/packages/postinstall.sh | 2 +- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/scripts/packages/nginx-agent.service b/scripts/packages/nginx-agent.service index 2f3454cfc..d9d5a946f 100644 --- a/scripts/packages/nginx-agent.service +++ b/scripts/packages/nginx-agent.service @@ -1,7 +1,7 @@ [Unit] Description=NGINX Agent Documentation=https://github.com/nginx/agent#readme -After=network.target +After=network-online.target Wants=network-online.target StartLimitIntervalSec=15 StartLimitBurst=5 @@ -11,24 +11,21 @@ User=${AGENT_USER} Group=${AGENT_GROUP} Type=simple -ExecStartPre=/bin/mkdir -p ${AGENT_RUN_DIR} -ExecStartPre=/bin/mkdir -p ${AGENT_LOG_DIR} - +ExecStartPre=/bin/mkdir -p ${AGENT_RUN_DIR} ${AGENT_LOG_DIR} +ExecStartPre=/bin/chown -R ${AGENT_USER}:${AGENT_GROUP} ${AGENT_RUN_DIR} ${AGENT_LOG_DIR} ExecStart=${AGENT_EXE} RestartSec=5 -Restart=always - +Restart=on-failure PermissionsStartOnly=true -PIDFile=${AGENT_RUN_DIR}/nginx-agent.pid -Environment= -StandardOutput=syslog -StandardError=syslog -SyslogIdentifier=nginx-agent +KillSignal=SIGINT +TimeoutStopSec=5s -ExecStop=/bin/kill -2 $MAINPID -ExecStop=/bin/sleep 3 +NoNewPrivileges=true +ProtectSystem=yes +ProtectHome=off +PrivateTmp=true [Install] WantedBy=multi-user.target diff --git a/scripts/packages/postinstall.sh b/scripts/packages/postinstall.sh index ea767c752..3c2f252b1 100755 --- a/scripts/packages/postinstall.sh +++ b/scripts/packages/postinstall.sh @@ -6,7 +6,7 @@ AGENT_EXE="/usr/bin/nginx-agent" -AGENT_RUN_DIR="/var/run/nginx-agent" +AGENT_RUN_DIR="/run/nginx-agent" AGENT_LOG_DIR="/var/log/nginx-agent" AGENT_ETC_DIR="/etc/nginx-agent" AGENT_LIB_DIR="/var/lib/nginx-agent/" From ab594037f2791b5819b52d4c5846f105d6725a78 Mon Sep 17 00:00:00 2001 From: Christopher van de Sande Date: Tue, 19 Aug 2025 15:17:11 +0100 Subject: [PATCH 2/4] Remove protectsystem option --- scripts/packages/nginx-agent.service | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/packages/nginx-agent.service b/scripts/packages/nginx-agent.service index d9d5a946f..3322153ce 100644 --- a/scripts/packages/nginx-agent.service +++ b/scripts/packages/nginx-agent.service @@ -23,7 +23,6 @@ KillSignal=SIGINT TimeoutStopSec=5s NoNewPrivileges=true -ProtectSystem=yes ProtectHome=off PrivateTmp=true From 609f54dd9674861c57101b14baffe38e45c5ec34 Mon Sep 17 00:00:00 2001 From: Christopher van de Sande Date: Tue, 19 Aug 2025 21:49:30 +0100 Subject: [PATCH 3/4] PR feedback --- scripts/packages/nginx-agent.service | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/scripts/packages/nginx-agent.service b/scripts/packages/nginx-agent.service index 3322153ce..701b30482 100644 --- a/scripts/packages/nginx-agent.service +++ b/scripts/packages/nginx-agent.service @@ -1,8 +1,8 @@ [Unit] Description=NGINX Agent Documentation=https://github.com/nginx/agent#readme -After=network-online.target -Wants=network-online.target +After=network.target +Wants=network.target StartLimitIntervalSec=15 StartLimitBurst=5 @@ -18,8 +18,6 @@ ExecStart=${AGENT_EXE} RestartSec=5 Restart=on-failure PermissionsStartOnly=true - -KillSignal=SIGINT TimeoutStopSec=5s NoNewPrivileges=true From 4b9434231f11b9b397b04881be44f01b4319bc3c Mon Sep 17 00:00:00 2001 From: Christopher van de Sande Date: Wed, 27 Aug 2025 11:43:25 +0100 Subject: [PATCH 4/4] Replace ExecStartPre commands with systemd native directives --- scripts/packages/nginx-agent.service | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/packages/nginx-agent.service b/scripts/packages/nginx-agent.service index 701b30482..1934e4ac8 100644 --- a/scripts/packages/nginx-agent.service +++ b/scripts/packages/nginx-agent.service @@ -11,10 +11,11 @@ User=${AGENT_USER} Group=${AGENT_GROUP} Type=simple -ExecStartPre=/bin/mkdir -p ${AGENT_RUN_DIR} ${AGENT_LOG_DIR} -ExecStartPre=/bin/chown -R ${AGENT_USER}:${AGENT_GROUP} ${AGENT_RUN_DIR} ${AGENT_LOG_DIR} -ExecStart=${AGENT_EXE} +LogsDirectory=nginx-agent +RuntimeDirectory=nginx-agent +StateDirectory=nginx-agent +ExecStart=${AGENT_EXE} RestartSec=5 Restart=on-failure PermissionsStartOnly=true