[Perl] DAQ system for the FAPG.
Factor out DAQ node service file.
roles/daq-node/deploy
@@ -108,37 +108,8 @@
108
108
}
109
109
110
110
function write_systemd_service() {
111
Removed:
cat > "${SERVICE_FILE}" <<EOF
112
Removed:
[Unit]
113
Removed:
Description=FAPG DAQ sensor node
114
Removed:
Wants=network-online.target
115
Removed:
After=network-online.target
116
Removed:
117
Removed:
[Service]
118
Removed:
Type=simple
119
Removed:
User=${RUN_USER}
120
Removed:
Group=${RUN_GROUP}
121
Removed:
SupplementaryGroups=dialout
122
Removed:
123
Removed:
WorkingDirectory=${REPO_DIR}
124
Removed:
EnvironmentFile=${ENV_FILE}
125
Removed:
126
Removed:
ExecStart=${NODE_BIN}
127
Removed:
128
Removed:
Restart=always
129
Removed:
RestartSec=5
130
Removed:
131
Removed:
# Basic hardening. Do not enable PrivateDevices=true because this service needs /dev/ttyUSB0.
132
Removed:
NoNewPrivileges=true
133
Removed:
ProtectHome=true
134
Removed:
ProtectSystem=strict
135
Removed:
ReadWritePaths=${STATE_DIR} ${RUN_DIR}
136
Removed:
137
Removed:
[Install]
138
Removed:
WantedBy=multi-user.target
139
Removed:
EOF
140
Removed:
141
Removed:
chmod 0644 "$SERVICE_FILE"
111
Added:
cat etc/systemd/system/fapg-daq-node.service > "${SERVICE_FILE}"
112
Added:
chmod 0644 "${SERVICE_FILE}"
142
113
}
143
114
144
115
function enable_service() {
roles/daq-node/etc/systemd/system/fapg-daq-node.service
@@ -0,0 +1,30 @@
1
Added:
[Unit]
2
Added:
Description=FAPG DAQ sensor node
3
Added:
Wants=network-online.target
4
Added:
After=network-online.target
5
Added:
6
Added:
[Service]
7
Added:
Type=simple
8
Added:
User=fapg-daq
9
Added:
Group=fapg-daq
10
Added:
SupplementaryGroups=dialout
11
Added:
12
Added:
WorkingDirectory=/opt/fapg/fapg-daq
13
Added:
EnvironmentFile=/etc/fapg-daq/daq.conf
14
Added:
15
Added:
ExecStart=/opt/fapg/fapg-daq/roles/daq-node/bin/fapg-daq-node
16
Added:
17
Added:
Restart=always
18
Added:
RestartSec=5
19
Added:
20
Added:
RuntimeDirectory=fapg-daq
21
Added:
RuntimeDirectoryMode=0750
22
Added:
23
Added:
# Basic hardening. Do not enable PrivateDevices=true because this service needs /dev/ttyUSB0.
24
Added:
NoNewPrivileges=true
25
Added:
ProtectHome=true
26
Added:
ProtectSystem=strict
27
Added:
ReadWritePaths=/var/lib/fapg-daq /run/fapg-daq
28
Added:
29
Added:
[Install]
30
Added:
WantedBy=multi-user.target