VIRTSECRETD(8)
π VIRTSECRETD(8) β like, the manual page, bestie
okay so real talk: this is virtsecretd from the Virtualization Support section of the manual (section 8, the daemon zone π«Ά). she's a whole server-side queen and she's about to make secrets management make sense. let's go π
β¨ NAME β¨
virtsecretd β the libvirt secret data management daemon, aka the girl who holds all your secret data and tells absolutely no one π
πΈ SYNOPSIS πΈ
virtsecretd [OPTION]...
literally just run her with some options and she's off β¨
π¦ DESCRIPTION π¦
so virtsecretd is a server side daemon component of the libvirt virtualization management system. think of her as one of the modular besties π― β a whole collection of daemons that replaced the functionality that the old monolithic libvirtd daemon used to do all by itself. glow-up era fr fr π
she runs on virtualization hosts and provides management for secret data. that's her whole job. she ate.
and listen β virtsecretd only listens for requests on a local Unix domain socket. no outside energy, no strangers, only local vibes π. if you want remote access via TLS/TCP, or backwards compatibility with legacy clients that are still expecting libvirtd, that's the virtproxyd daemon's job. different girl, different shift π
one more thing, and this is lowkey important: restarting virtsecretd does not interrupt running guests. guests keep operating, and changes in their state will generally be picked up automatically during startup π. but regardless β it's recommended to avoid restarting with running guests whenever practical. no cap, just don't do it if you don't have to π
β DAEMON STARTUP MODES β
the virtsecretd daemon is capable of starting in two modes. two modes! main character versatility π
π§ Socket activation mode
on hosts with systemd, she starts in socket activation mode, and she'll rely on systemd to create and listen on the UNIX sockets and pass them to her as pre-opened file descriptors β¨. in this mode, most of the socket related config options in /etc/libvirt/virtsecretd.conf will no longer have any effect. yeah. she's not listening to those anymore π
πΈ Traditional service mode
on hosts without systemd, she creates and listens on the UNIX sockets herself. independent queen behavior π
π OPTIONS π
-h,--helpβ display command line help usage then exit. the "what do i do" button π«Ά-d,--daemonβ run as a daemon & write PID file. she goes in the background and leaves a little note π-f,--configFILE β use this configuration file, overriding the default value. you pick the file, she respects it π-p,--pid-fileFILE β use this name for the PID file, overriding the default value. rename the note, go off β¨-t,--timeoutSECONDS β exit after timeout period (in seconds), provided there are neither any client connections nor any ephemeral secrets. she'll only dip out if nobody's around and there's nothing temporary left behind π¦-v,--verboseβ enable output of verbose messages. she tells you everything, and honestly? iconic π₯--versionβ display version information then exit. the "who are you again" option β
π SIGNALS π
on receipt of SIGHUP, virtsecretd will reload its configuration. one little signal and she's refreshed, hydrated, re-reading her config fr fr π
π FILES π
π When run as root
/etc/libvirt/virtsecretd.conf
the default configuration file used by virtsecretd, unless overridden on the command line using the -f | --config option. that's her home file π
/run/libvirt/virtsecretd-sock/run/libvirt/virtsecretd-sock-ro/run/libvirt/virtsecretd-admin-sock
the sockets virtsecretd will use. all three of them, all living their lives π«Ά
the TLS Server private key virtsecretd will use. π
/run/virtsecretd.pid
the PID file to use, unless overridden by the -p | --pid-file option π
π¦ When run as non-root
$XDG_CONFIG_HOME/libvirt/virtsecretd.conf
the default configuration file used by virtsecretd, unless overridden on the command line using the -f | --config option.
$XDG_RUNTIME_DIR/libvirt/virtsecretd-sock$XDG_RUNTIME_DIR/libvirt/virtsecretd-admin-sock
the sockets virtsecretd will use.
$XDG_RUNTIME_DIR/libvirt/virtsecretd.pid
the PID file to use, unless overridden by the -p | --pid-file option.
if $XDG_CONFIG_HOME is not set in your environment, virtsecretd will use $HOME/.config π
if $XDG_RUNTIME_DIR is not set in your environment, virtsecretd will use $HOME/.cache πΈ
β¨ EXAMPLES β¨
to retrieve the version of virtsecretd:
# virtsecretd --version
virtsecretd (libvirt) 12.8.0
to start virtsecretd, instructing it to daemonize and create a PID file:
# virtsecretd -d
# ls -la /run/virtsecretd.pid
-rw-r--r-- 1 root root 6 Jul 9 02:40 /run/virtsecretd.pid
look at her go ππ
π BUGS π
please report all bugs you discover. this should be done via either:
- the mailing list
https://libvirt.org/contact.html
- the bug tracker
alternatively, you may report bugs to your software distributor / vendor. be a good citizen and report the bugs bestie π
π«Ά AUTHORS π«Ά
please refer to the AUTHORS file distributed with libvirt. the whole squad is credited there π
π COPYRIGHT π
Copyright (C) 2006-2020 Red Hat, Inc., and the authors listed in the libvirt AUTHORS file.
π§ LICENSE π§
virtsecretd is distributed under the terms of the GNU LGPL v2.1+. this is free software; see the source for copying conditions. there is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE π
like yes she's free but she is not promising you anything. read the source, that's where the truth lives π
π₯ SEE ALSO π₯
virsh(1), libvirtd(8), https://libvirt.org/daemons.html, https://libvirt.org/drvsecret.html
and that's the whole page, bestie β¨ this was VIRTSECRETD(8) from the Virtualization Support manual β the very last line of the original page is just her name in the corner, VIRTSECRETD(8), serving footer energy π
mwah, go manage some secrets ππ
π¦ where this page comes from
- centos-stream 10: libvirt-daemon-driver-secret 12.8.0-1.el10 Β· GPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND OFL-1.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms