From nobody Mon Feb 9 01:21:09 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=1609867589; cv=none; d=zohomail.com; s=zohoarc; b=VCXUjTnEbdeo8lFFPgUdYEnMDDuzWmQ9Ta4Ferws53Aa5id0wO34QsmhK5ErGvPYMugS4E2LEVUmqePk+ol3UiBIi+Nn30dQ9Fie8BbnSF+28rUNZS/EtVJbCbzfWIHWZFAdazyibbh0PuDnNimmhfbnPKwK2HdLZTIL80izznM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1609867589; 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=zhAQ9aWsihKDtPIKFwuouo1Cz5eLm0fyuCEdWvgyWAQ=; b=KRIqsUher0cRXrFKFcIM9ssuzr5ipDWS3wLGu/4DNhFXqcNJSZ0r9IcXv+JRhReXGVxMAMho9RB9zv1HJnowWmIkhzLoWl9U0IMmh+bBi1wMJYLShnK3MY7RVzSgu/o62vNJVIVSnYhXq00gXGwVdDGqhWCeovR5vI8C5S4Gjug= 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 1609867589215868.3194277460614; Tue, 5 Jan 2021 09:26:29 -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-593-c7NUCGg8N7KZRZsIUl4ohg-1; Tue, 05 Jan 2021 12:26:24 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DDF3B180A09E; Tue, 5 Jan 2021 17:26:15 +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 BBBF270946; Tue, 5 Jan 2021 17:26:15 +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 83DD31809CA5; Tue, 5 Jan 2021 17:26:15 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 105HQ8gN032313 for ; Tue, 5 Jan 2021 12:26:08 -0500 Received: by smtp.corp.redhat.com (Postfix) id 818D060BFA; Tue, 5 Jan 2021 17:26:08 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-114-197.ams2.redhat.com [10.36.114.197]) by smtp.corp.redhat.com (Postfix) with ESMTP id C043F60BE5; Tue, 5 Jan 2021 17:26:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1609867588; 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=zhAQ9aWsihKDtPIKFwuouo1Cz5eLm0fyuCEdWvgyWAQ=; b=eyiAbDpBhDKQrD4qsGFRkROL+eQoJO/6FyjHjyHoofrZjP1+zftxPrJ5RtT6044eOBE6du jJDt2r6SQs+PCGV/2gkaanX4bPQMXH4raPLGSonL6cJTgxwtHR6V4Oztt5Y3hiVXdyHQgw gEzf7MkuIXeKsxSqHh2z0ubWn3JqVvc= X-MC-Unique: c7NUCGg8N7KZRZsIUl4ohg-1 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Subject: [libvirt PATCH v2 04/16] docs: add manpage for virtproxyd Date: Tue, 5 Jan 2021 17:25:42 +0000 Message-Id: <20210105172554.943968-5-berrange@redhat.com> In-Reply-To: <20210105172554.943968-1-berrange@redhat.com> References: <20210105172554.943968-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 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.13 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.29.2