2020-09-24 17:08:37 +03:00
==========
virtproxyd
==========
--------------------
libvirt proxy daemon
--------------------
:Manual section: 8
:Manual group: Virtualization Support
.. contents ::
SYNOPSIS
========
`` virtproxyd `` [*OPTION* ]...
DESCRIPTION
===========
The `` virtproxyd `` program is a server side daemon component of the libvirt
virtualization management system.
It is one of a collection of modular daemons that replace functionality
previously provided by the monolithic `` libvirtd `` daemon.
This daemon runs on virtualization hosts and
* Listens on a UNIX socket to provide backwards compatibility for clients
that previously connected to the `` libvirtd `` socket.
* Optionally listens on TCP ports for connections from off-node clients
Upon receiving RPC messages from a client `` virtproxyd `` will transparently
forward them on to the appropriate modular daemon, and similarly relay back
any asynchronous events.
By default, the `` virtproxyd `` daemon listens for requests on a local Unix
domain socket with the same path previously used by `` libvirtd `` . The
configuration file can be used to instruct it to also listen on TCP socket(s).
Systemd socket activation is also supported to allow it to receive pre-opened
listener sockets on startup.
2021-04-15 11:12:12 +03:00
Since `` virtproxyd `` merely forwards RPC messages, it has no important state,
2020-09-24 17:08:37 +03:00
and can be restarted at any time. Clients should expect to reconnect after
the restart.
2022-10-18 15:15:38 +03:00
DAEMON STARTUP MODES
====================
2020-09-24 17:08:37 +03:00
The `` virtproxyd `` daemon is capable of starting in two modes.
2022-10-18 15:15:38 +03:00
Socket activation mode
----------------------
On hosts with systemd it is started in socket activation mode and it will rely
on systemd to create and listen on the UNIX, and optionally TCP/IP, sockets and
pass them as pre-opened file descriptors. In this mode most of the socket
related config options in `` /etc/libvirt/virtproxyd.conf `` will no longer have
any effect. To enable TCP or TLS sockets use either
2020-09-24 17:08:37 +03:00
::
$ systemctl start virtproxyd-tls.socket
Or
::
$ systemctl start virtproxyd-tcp.socket
2023-04-20 11:59:57 +03:00
**Note** : The TCP socket uses plain unencrypted TCP connection and thus is
insecure and should not be used.
2020-09-24 17:08:37 +03:00
2022-10-18 15:15:38 +03:00
Traditional service mode
------------------------
2020-09-24 17:08:37 +03:00
2022-10-18 15:15:38 +03:00
On hosts without systemd, it will create and listen on UNIX sockets itself.
It will also listen on TCP/IP socket(s), according to the `` listen_tcp ``
and `` listen_tls `` options in `` /etc/libvirt/virtproxyd.conf ``
2020-09-24 17:08:37 +03:00
OPTIONS
=======
`` -h `` , `` --help ``
Display command line help usage then exit.
`` -d `` , `` --daemon ``
Run as a daemon & write PID file.
`` -f `` , `` --config *FILE* ``
Use this configuration file, overriding the default value.
`` -p `` , `` --pid-file *FILE* ``
Use this name for the PID file, overriding the default value.
`` -t `` , `` --timeout *SECONDS* ``
2023-03-15 13:08:29 +03:00
Exit after timeout period (in seconds), provided there are no client
connections.
2020-09-24 17:08:37 +03:00
`` -v `` , `` --verbose ``
Enable output of verbose messages.
`` --version ``
Display version information then exit.
SIGNALS
=======
On receipt of `` SIGHUP `` `` virtproxyd `` will reload its configuration.
FILES
=====
When run as *root*
------------------
* `` @SYSCONFDIR@/libvirt/virtproxyd.conf ``
The default configuration file used by `` virtproxyd `` , unless overridden on the
command line using the `` -f `` | `` --config `` option.
* `` @RUNSTATEDIR@/libvirt/libvirt-sock ``
* `` @RUNSTATEDIR@/libvirt/libvirt-sock-ro ``
The sockets `` virtproxyd `` will use.
* `` @SYSCONFDIR@/pki/CA/cacert.pem ``
The TLS **Certificate Authority** certificate `` virtproxyd `` will use.
* `` @SYSCONFDIR@/pki/libvirt/servercert.pem ``
The TLS **Server** certificate `` virtproxyd `` will use.
* `` @SYSCONFDIR@/pki/libvirt/private/serverkey.pem ``
The TLS **Server** private key `` virtproxyd `` will use.
* `` @RUNSTATEDIR@/virtproxyd.pid ``
The PID file to use, unless overridden by the `` -p `` | `` --pid-file `` option.
When run as *non-root*
----------------------
* `` $XDG_CONFIG_HOME/libvirt/virtproxyd.conf ``
The default configuration file used by `` virtproxyd `` , unless overridden on the
command line using the `` -f ` ` | `` --config`` option.
* `` $XDG_RUNTIME_DIR/libvirt/libvirt-sock ``
The socket `` virtproxyd `` will use.
* `` $HOME/.pki/libvirt/cacert.pem ``
The TLS **Certificate Authority** certificate `` virtproxyd `` will use.
* `` $HOME/.pki/libvirt/servercert.pem ``
The TLS **Server** certificate `` virtproxyd `` will use.
* `` $HOME/.pki/libvirt/serverkey.pem ``
The TLS **Server** private key `` virtproxyd `` will use.
* `` $XDG_RUNTIME_DIR/libvirt/virtproxyd.pid ``
The PID file to use, unless overridden by the `` -p ` ` | `` --pid-file`` option.
If `` $XDG_CONFIG_HOME `` is not set in your environment, `` virtproxyd `` will use
`` $HOME/.config ``
If `` $XDG_RUNTIME_DIR `` is not set in your environment, `` virtproxyd `` will use
`` $HOME/.cache ``
EXAMPLES
========
To retrieve the version of `` virtproxyd `` :
::
# virtproxyd --version
virtproxyd (libvirt) @VERSION@
To start `` virtproxyd `` , instructing it to daemonize and create a PID file:
::
# virtproxyd -d
# ls -la @RUNSTATEDIR@/virtproxyd.pid
-rw-r--r-- 1 root root 6 Jul 9 02:40 @RUNSTATEDIR@/virtproxyd.pid
BUGS
====
Please report all bugs you discover. This should be done via either:
#. the mailing list
`https://libvirt.org/contact.html <https://libvirt.org/contact.html> `_
#. the bug tracker
`https://libvirt.org/bugs.html <https://libvirt.org/bugs.html> `_
Alternatively, you may report bugs to your software distributor / vendor.
AUTHORS
=======
Please refer to the AUTHORS file distributed with libvirt.
COPYRIGHT
=========
Copyright (C) 2006-2020 Red Hat, Inc., and the authors listed in the
libvirt AUTHORS file.
LICENSE
=======
`` virtproxyd `` 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
SEE ALSO
========
virsh(1), libvirtd(8),
2023-03-14 17:39:22 +03:00
`https://libvirt.org/daemons.html <https://libvirt.org/daemons.html> `_ ,