[Unit] Description=rpm-ostree System Management Daemon Documentation=man:rpm-ostree(1) ConditionPathExists=/ostree RequiresMountsFor=/boot [Service] # See similar code in rpm-ostree-countme.service User=rpm-ostree DynamicUser=yes # As of right now, our primary API is DBus. But see also https://github.com/coreos/rpm-ostree/issues/3850 Type=dbus BusName=org.projectatomic.rpmostree1 # To use the read-only sysroot bits MountFlags=slave # We have no business accessing /var/roothome or /var/home. In general # the ostree design clearly avoids touching those, but since systemd offers # us easy tools to toggle on protection, let's use them. In the future # it'd be nice to do something like using DynamicUser=yes for the main service, # and have a system rpm-ostreed-transaction.service that runs privileged # but as a subprocess. ProtectHome=true NotifyAccess=main # Significantly bump this timeout from the default because # we do a lot of stuff on daemon startup. TimeoutStartSec=5m # We start this main process with full privileges; it may spawn unprivileged processes # with the rpm-ostree user. ExecStart=+rpm-ostree start-daemon ExecReload=rpm-ostree reload # disable/enable downloading filelists Environment="DOWNLOAD_FILELISTS=false"