Prepare project for public release
Some checks failed
CI / test (3.10) (push) Has been cancelled
CI / test (3.12) (push) Has been cancelled
CI / test (3.13) (push) Has been cancelled
CI / container (push) Has been cancelled

This commit is contained in:
Johan Lundberg 2026-07-30 23:22:10 +02:00
commit dbc7464b58
21 changed files with 1780 additions and 0 deletions

34
wlc-monitor.service Normal file
View file

@ -0,0 +1,34 @@
[Unit]
Description=Cisco Catalyst 9800 WLC health check (SNMP -> email)
Documentation=file:/opt/wlc-monitor/README.md
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
User=wlcmon
Group=wlcmon
WorkingDirectory=/opt/wlc-monitor
ExecStart=/opt/wlc-monitor/venv/bin/python /opt/wlc-monitor/wlc_monitor.py \
--config /opt/wlc-monitor/config.ini
# Creates and owns /var/lib/wlc-monitor for the state file.
StateDirectory=wlc-monitor
StateDirectoryMode=0700
UMask=0077
# The service only needs to talk UDP/161 outbound and SMTP outbound, and to
# write one JSON file. Everything else is off.
NoNewPrivileges=true
PrivateTmp=true
PrivateDevices=true
ProtectSystem=strict
ProtectHome=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
RestrictAddressFamilies=AF_INET AF_INET6
RestrictNamespaces=true
LockPersonality=true
MemoryDenyWriteExecute=true
SystemCallArchitectures=native