%{_unitdir}/virtsecretd.socket
%{_unitdir}/virtsecretd-ro.socket
%{_unitdir}/virtsecretd-admin.socket
+%dir %attr(0755, root, root) %{_unitdir}/libvirtd.service.d/
+%{_unitdir}/libvirtd.service.d/10-secret.conf
%attr(0755, root, root) %{_sbindir}/virtsecretd
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/secrets/
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/secrets/
--- /dev/null
+[Unit]
+Requires=virt-secret-init-encryption.service
+After=virt-secret-init-encryption.service
+
+[Service]
+Environment=SECRETS_ENCRYPTION_KEY=%d/secrets-encryption-key
+LoadCredentialEncrypted=secrets-encryption-key:@localstatedir@/lib/libvirt/secrets/secrets-encryption-key
After=libvirtd-ro.socket
After=libvirtd-admin.socket
Requires=virtlogd.socket
-Requires=virt-secret-init-encryption.service
-After=virt-secret-init-encryption.service
Wants=virtlockd.socket
After=virtlogd.socket
After=virtlockd.socket
Type=notify-reload
Environment=LIBVIRTD_ARGS="--timeout 120"
EnvironmentFile=-@initconfdir@/libvirtd
-Environment=SECRETS_ENCRYPTION_KEY=%d/secrets-encryption-key
-LoadCredentialEncrypted=secrets-encryption-key:@localstatedir@/lib/libvirt/secrets/secrets-encryption-key
ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
)
endif
+# The monolithic libvirt daemon only attempts to load the
+# secrets encryption credentials if the secret driver is enabled
+if conf.has('WITH_SECRETS')
+ secret_dropin_conf = configuration_data({
+ 'localstatedir': localstatedir,
+ })
+
+ configure_file(
+ input: 'libvirtd-secret.conf.in',
+ output: '10-secret.conf',
+ configuration: secret_dropin_conf,
+ install_dir: unitdir / 'libvirtd.service.d',
+ )
+endif
+
remote_inc_dir = include_directories('.')