Verified Commit 9bd8ee5b authored by David Runge's avatar David Runge
Browse files

Add example for systemd integration

examples/systemd/arch-release-sync.service:
Add an example systemd system service with applied hardening, that
allows synchronization to the default sync location.

examples/systemd/arch-release-sync.timer:
Add and example systemd system timer that triggers running
arch-release-sync.service hourly.
parent 87ad51b7
Pipeline #11059 passed with stages
in 56 seconds
[Unit]
Description=Synchronize promoted releases from gitlab.archlinux.org
Documentation=https://gitlab.archlinux.org/archlinux/arch-release-promotion
Wants=network-online.target
After=network-online.target nss-lookup.target
[Service]
CapabilityBoundingSet=
Environment=GPGKEY=1234567890123456789012345678901234567890 PACKAGER="Not Relevant <not@archlinux.org>"
ExecStart=/usr/bin/arch-release-sync
Group=arch-release-sync
LockPersonality=true
MemoryDenyWriteExecute=true
NoNewPrivileges=true
PrivateDevices=true
PrivateTmp=true
PrivateUsers=true
ProtectClock=true
ProtectControlGroups=true
ProtectHome=true
ProtectHostname=true
ProtectKernelTunables=true
ProtectKernelLogs=true
ProtectKernelModules=true
ProtectProc=invisible
ProtectSystem=strict
ReadOnlyPaths=/etc/arch-release-promotion/projects.toml
ReadWritePaths=/var/lib/arch-release-sync/
RemoveIPC=true
RestrictAddressFamilies=AF_INET AF_INET6
RestrictNamespaces=true
RestrictRealtime=true
RestrictSUIDSGID=true
StateDirectory=arch-release-sync
SystemCallArchitectures=native
SystemCallFilter=@system-service
SystemCallFilter=~@resources @privileged
User=arch-release-sync
[Unit]
Description=Synchronize promoted releases from gitlab.archlinux.org hourly
[Timer]
OnCalendar=hourly
Persistent=true
RandomizedDelaySec=10min
[Install]
WantedBy=timers.target
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment