Hello everyone!
I am trying to write an application that among other things, checks the
status of a systemd service unit.
I was looking into the new varlink API and was hoping to make use of
that instead of the dbus API if I can help it, but unfortunately I don't
see an endpoint to be able to do basic unit management.
I see references to a `io.systemd.service` unit:
- here:
https://github.com/systemd/systemd/blob/30f6240bd24a5a81ece8f878251f0d656ada29e3/src/shared/varlink-io.systemd.service.c
- and here:
https://github.com/systemd/systemd/blob/30f6240bd24a5a81ece8f878251f0d656ada29e3/test/units/TEST-13-NSPAWN.importctl.sh#L92
But I don't see that endpoint in my system:
```
$ ls -lhatr /var/run/systemd/io.systemd.*
srw-rw-rw- 1 root root 0 May 30 19:56
/var/run/systemd/io.systemd.ManagedOOM
srw-rw-rw- 1 root root 0 May 30 19:56
/var/run/systemd/io.systemd.Credentials
srw-rw-rw- 1 root root 0 May 30 19:56 /var/run/systemd/io.systemd.Import
srw------- 1 root root 0 May 30 19:56
/var/run/systemd/io.systemd.BootControl
srw------- 1 root root 0 May 30 19:56 /var/run/systemd/io.systemd.sysext
srw-rw-rw- 1 root root 0 May 30 19:56
/var/run/systemd/io.systemd.Hostname
srw------- 1 root root 0 Jun 2 19:59
/var/run/systemd/io.systemd.service
```
I tried to follow the example of the second reference (the unit test):
```
$ sudo varlinkctl call --more /run/systemd/io.systemd.Import
io.systemd.service.Ping '{}'
Method call failed: org.varlink.service.MethodNotFound
{
"method" : "io.systemd.service.Ping"
}
```
I am running Fedora 42:
```
$ systemctl --version
systemd 257 (257.6-1.fc42)
+PAM +AUDIT +SELINUX -APPARMOR +IMA +IPE +SMACK +SECCOMP -GCRYPT +GNUTLS
+OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN -IPTC +KMOD
+LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY
+P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF
+XKBCOMMON +UTMP +SYSVINIT +LIBARCHIVE
```
I can see there's documentation on how to use varlink in general, but is
there any documentation on how to enable specific systemd varlink
endpoints?
Thanks!
--
-- Imanol Barba