virtproxyd(8) Virtualization Support virtproxyd(8)

# [Name](#Name)

virtproxyd - libvirt proxy daemon

# [SYNOPSIS](#SYNOPSIS)

**virtproxyd** \[*OPTION*]...

# [DESCRIPTION](#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.

Since **virtproxyd** merely forwards RPC messages, it has no important state, and can be restarted at any time. Clients should expect to reconnect after the restart.

# [DAEMON STARTUP MODES](#DAEMON_STARTUP_MODES)

The **virtproxyd** daemon is capable of starting in two modes.

## [Socket activation mode](#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

```
$ systemctl start virtproxyd-tls.socket
```

Or

```
$ systemctl start virtproxyd-tcp.socket
```

**Note**: The TCP socket uses plain unencrypted TCP connection and thus is insecure and should not be used.

## [Traditional service mode](#Traditional_service_mode)

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**

# [OPTIONS](#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\***

Exit after timeout period (in seconds), provided there are no client connections.

**-v**, **--verbose**

Enable output of verbose messages.

**--version**

Display version information then exit.

# [SIGNALS](#SIGNALS)

On receipt of **SIGHUP** **virtproxyd** will reload its configuration.

# [FILES](#FILES)

## When run as *root*

•

**/etc/libvirt/virtproxyd.conf**

The default configuration file used by **virtproxyd**, unless overridden on the command line using the **-f** | **--config** option.

- **/run/libvirt/libvirt-sock**
- **/run/libvirt/libvirt-sock-ro**

The sockets **virtproxyd** will use.

•

**/etc/pki/CA/cacert.pem**

The TLS **Certificate Authority** certificate **virtproxyd** will use.

•

**/etc/pki/libvirt/servercert.pem**

The TLS **Server** certificate **virtproxyd** will use.

•

**/etc/pki/libvirt/private/serverkey.pem**

The TLS **Server** private key **virtproxyd** will use.

•

**/run/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](#EXAMPLES)

To retrieve the version of **virtproxyd**:

```
# virtproxyd --version
virtproxyd (libvirt) 12.8.0
```

To start **virtproxyd**, instructing it to daemonize and create a PID file:

```
# virtproxyd -d
# ls -la /run/virtproxyd.pid
-rw-r--r-- 1 root root 6 Jul  9 02:40 /run/virtproxyd.pid
```

# [BUGS](#BUGS)

Please report all bugs you discover. This should be done via either:

1\.

the mailing list

&lt;https://libvirt.org/contact.html&gt;

2\.

the bug tracker

&lt;https://libvirt.org/bugs.html&gt;

Alternatively, you may report bugs to your software distributor / vendor.

# [AUTHORS](#AUTHORS)

Please refer to the AUTHORS file distributed with libvirt.

# [COPYRIGHT](#COPYRIGHT)

Copyright (C) 2006-2020 Red Hat, Inc., and the authors listed in the libvirt AUTHORS file.

# [LICENSE](#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](#SEE_ALSO)

[virsh(1)](/man/enterprise-packages/libvirt/virsh.1), [libvirtd(8)](/man/enterprise-packages/libvirt/libvirtd.8), &lt;https://libvirt.org/daemons.html&gt;,

---

Document: virtproxyd(8) from libvirt 12.8.0-r0 (Chainguard OS)
Source: https://gitlab.com/libvirt/libvirt.git
