public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Filip Schauer <f.schauer@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [RFC pve-container/pve-lxc-console v2 0/2] add container console scrollback buffer
Date: Thu,  5 Nov 2026 15:49:42 +0100	[thread overview]
Message-ID: <20261105144947.124148-1-f.schauer@proxmox.com> (raw)

Replace dtach and lxc-console for container consoles with a new
pve-lxc-console binary, which keeps a scrollback buffer and replays it
to clients on attach.

No console output is lost before the first client attaches, whatever
the cmode:

* console: we additionally enable the LXC console ring buffer, which
  records the console output since the container started.
  pve-lxc-console reads its data from there, so users who open the
  console too late still see what the container printed earlier, even
  if no console was open at that time.
* tty: the kernel buffers the output of the tty internally until it is
  read, so nothing is lost before pve-lxc-console picks it up.
* shell: the shell is only started when the console is opened for the
  first time, so there is no earlier output that could be missed.

This also allows us to remove dtach as a dependency from pve-manager.


pve-lxc-console:

Filip Schauer (1):
  initial commit

 .cargo/config.toml   |   5 +
 .gitignore           |  12 ++
 Cargo.toml           |  14 ++
 Makefile             |  77 +++++++++
 build.rs             |  49 ++++++
 debian/changelog     |   5 +
 debian/control       |  31 ++++
 debian/copyright     |  16 ++
 debian/rules         |  29 ++++
 debian/source/format |   1 +
 src/client.rs        |  97 +++++++++++
 src/lxc.rs           |  85 +++++++++
 src/main.rs          |  91 ++++++++++
 src/master.rs        | 402 +++++++++++++++++++++++++++++++++++++++++++
 src/packet.rs        |  85 +++++++++
 15 files changed, 999 insertions(+)
 create mode 100644 .cargo/config.toml
 create mode 100644 .gitignore
 create mode 100644 Cargo.toml
 create mode 100644 Makefile
 create mode 100644 build.rs
 create mode 100644 debian/changelog
 create mode 100644 debian/control
 create mode 100644 debian/copyright
 create mode 100644 debian/rules
 create mode 100644 debian/source/format
 create mode 100644 src/client.rs
 create mode 100644 src/lxc.rs
 create mode 100644 src/main.rs
 create mode 100644 src/master.rs
 create mode 100644 src/packet.rs


pve-container:

Filip Schauer (1):
  add container console scrollback buffer

 debian/control      |  1 +
 src/PVE/API2/LXC.pm | 36 +++---------------------------------
 src/PVE/LXC.pm      | 11 +++++++++++
 3 files changed, 15 insertions(+), 33 deletions(-)


Summary over all repositories:
  18 files changed, 1014 insertions(+), 33 deletions(-)

-- 
Generated by murpp 0.12.1




             reply	other threads:[~2026-11-05 14:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-05 14:49 Filip Schauer [this message]
2026-11-05 14:49 ` [RFC pve-lxc-console v2 1/2] initial commit Filip Schauer
2026-11-05 14:49 ` [RFC container v2 2/2] add container console scrollback buffer Filip Schauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261105144947.124148-1-f.schauer@proxmox.com \
    --to=f.schauer@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal