From nobody Sat Feb 7 08:28:28 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1605632538; cv=none; d=zohomail.com; s=zohoarc; b=G3e9Ez3vhRC+HdzDWzG+gTNjgnROzBwIIjE+E/WkZCeP3e0botfEtLuR5TIQwTw+Tpuyc7STlgMbnOKjyL6orh4h/VgsqpYykSGEd/VLqyiw9sQfOjqINOGeiiG9L16Qw5riX9z35t2aFKzSYpMWrsqwVlmHS14AnUCRDlMh9Ms= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1605632538; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xfQRckvFrbV3bTD++vh6AqEmdx+hxFvNnE+8zotZnOc=; b=drFMoWtczXtE4v0ChZ9qQ73Y0h+j8SttWkdMjEU1R4uDqrF1txDaBAzoBjKGfkWeP/VlSGEjMeOxvZm9WkqY1DCpgooD42ZnW4odGnoCKMb27N8t6M2SuYfIiVJ42jUlJdJPwsHuzhHmF1scQFcO4cTaZsTZ8EQerj5He4YI1nY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1605632538030870.9149947743015; Tue, 17 Nov 2020 09:02:18 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-65-f0va6SY8MqKl4rSl6W92Eg-1; Tue, 17 Nov 2020 12:02:11 -0500 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E0AF1186DD37; Tue, 17 Nov 2020 17:02:03 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BADAB5B4B6; Tue, 17 Nov 2020 17:02:03 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 79FB6181A07B; Tue, 17 Nov 2020 17:02:03 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 0AHGAc1U027988 for ; Tue, 17 Nov 2020 11:10:38 -0500 Received: by smtp.corp.redhat.com (Postfix) id 1C0E35B4BB; Tue, 17 Nov 2020 16:10:38 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-115-10.ams2.redhat.com [10.36.115.10]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4E16B5B4A2; Tue, 17 Nov 2020 16:10:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1605632535; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=xfQRckvFrbV3bTD++vh6AqEmdx+hxFvNnE+8zotZnOc=; b=XzW0oB1mT+qaufaB+2p+ap7CUNBXXRwFp7x/iy8cTjBC4AIu1X0+qQANB0qT8byJtudG5B mmORfNHIDlgDU5R9/KzKvYuxX3eL0lKEguIvTBYRZq74+ULMF4PglaTkM5ZTdWMWDwrihM 2MySdMRPXP4mj++RMKeWnDdKvr6M15g= X-MC-Unique: f0va6SY8MqKl4rSl6W92Eg-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Subject: [libvirt PATCH 04/16] docs: add manpage for virtproxyd Date: Tue, 17 Nov 2020 16:10:15 +0000 Message-Id: <20201117161027.210543-5-berrange@redhat.com> In-Reply-To: <20201117161027.210543-1-berrange@redhat.com> References: <20201117161027.210543-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) This is an adaptation of the libvirtd manpage. Signed-off-by: Daniel P. Berrang=C3=A9 --- docs/manpages/index.rst | 1 + docs/manpages/meson.build | 1 + docs/manpages/virtproxyd.rst | 256 +++++++++++++++++++++++++++++++++++ 3 files changed, 258 insertions(+) create mode 100644 docs/manpages/virtproxyd.rst diff --git a/docs/manpages/index.rst b/docs/manpages/index.rst index e116c6f415..6a2a1e065d 100644 --- a/docs/manpages/index.rst +++ b/docs/manpages/index.rst @@ -10,6 +10,7 @@ These daemons provide functionality across multiple libvi= rt drivers * `libvirtd(8) `__ - libvirt management daemon * `virtlockd(8) `__ - libvirt lock management daemon * `virtlogd(8) `__ - libvirt log management daemon +* `virtproxyd(8) `__ - libvirt proxy daemon =20 Tools =3D=3D=3D=3D=3D diff --git a/docs/manpages/meson.build b/docs/manpages/meson.build index f6388b6262..7d5a81ecd5 100644 --- a/docs/manpages/meson.build +++ b/docs/manpages/meson.build @@ -24,6 +24,7 @@ docs_man_files =3D [ { 'name': 'virt-sanlock-cleanup', 'section': '8', 'install': conf.has('W= ITH_SANLOCK') }, { 'name': 'virtlockd', 'section': '8', 'install': conf.has('WITH_LIBVIRT= D') }, { 'name': 'virtlogd', 'section': '8', 'install': conf.has('WITH_LIBVIRTD= ') }, + { 'name': 'virtproxyd', 'section': '8', 'install': conf.has('WITH_LIBVIR= TD') }, ] =20 foreach name : keycode_list diff --git a/docs/manpages/virtproxyd.rst b/docs/manpages/virtproxyd.rst new file mode 100644 index 0000000000..a8a0c044fa --- /dev/null +++ b/docs/manpages/virtproxyd.rst @@ -0,0 +1,256 @@ +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +virtproxyd +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +-------------------- +libvirt proxy daemon +-------------------- + +:Manual section: 8 +:Manual group: Virtualization Support + +.. contents:: + +SYNOPSIS +=3D=3D=3D=3D=3D=3D=3D=3D + +``virtproxyd`` [*OPTION*]... + + +DESCRIPTION +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +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 an + + * 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-ope= ned +listener sockets on startup. + +Since ``virtproxyd`` merely forwards RPC mesages, it has no important stat= e, +and can be restarted at any time. Clients should expect to reconnect after +the restart. + + +SYSTEM SOCKET ACTIVATION +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +The ``virtproxyd`` daemon is capable of starting in two modes. + +In the traditional mode, 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`` + +In socket activation mode, 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 + +Socket activation mode is generally the default when running on a host +OS that uses systemd. To revert to the traditional mode, all the socket +unit files must be masked: + +:: + + $ systemctl mask virtproxyd.socket virtproxyd-ro.socket \ + virtproxyd-admin.socket virtproxyd-tls.socket virtproxyd-tcp.socket + + +OPTIONS +=3D=3D=3D=3D=3D=3D=3D + +``-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 neither any cli= ent +connections nor any running domains. + +``-v``, ``--verbose`` + +Enable output of verbose messages. + +``--version`` + +Display version information then exit. + + +SIGNALS +=3D=3D=3D=3D=3D=3D=3D + +On receipt of ``SIGHUP`` ``virtproxyd`` will reload its configuration. + + +FILES +=3D=3D=3D=3D=3D + +When run as *root* +------------------ + +* ``@SYSCONFDIR@/libvirt/virtproxyd.conf`` + +The default configuration file used by ``virtproxyd``, unless overridden o= n 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`` opti= on. + + +When run as *non-root* +---------------------- + +* ``$XDG_CONFIG_HOME/libvirt/virtproxyd.conf`` + +The default configuration file used by ``virtproxyd``, unless overridden o= n 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`` wil= l use +``$HOME/.config`` + +If ``$XDG_RUNTIME_DIR`` is not set in your environment, ``virtproxyd`` wil= l use +``$HOME/.cache`` + + +EXAMPLES +=3D=3D=3D=3D=3D=3D=3D=3D + +To retrieve the version of ``virtproxyd``: + +:: + + # virtproxyd --version + virtproxyd (libvirt) 6.6.0 + + +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 +=3D=3D=3D=3D + +Please report all bugs you discover. This should be done via either: + +#. the mailing list + + `https://libvirt.org/contact.html `_ + +#. the bug tracker + + `https://libvirt.org/bugs.html `_ + +Alternatively, you may report bugs to your software distributor / vendor. + + +AUTHORS +=3D=3D=3D=3D=3D=3D=3D + +Please refer to the AUTHORS file distributed with libvirt. + + +COPYRIGHT +=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Copyright (C) 2006-2020 Red Hat, Inc., and the authors listed in the +libvirt AUTHORS file. + + +LICENSE +=3D=3D=3D=3D=3D=3D=3D + +``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 +=3D=3D=3D=3D=3D=3D=3D=3D + +virsh(1), libvirtd(8), +`https://www.libvirt.org/daemons.html `_, --=20 2.28.0