[pve-devel] [PATCH pve-manager 3/5] api: add APT versions return schema
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Sep 22 19:01:07 CEST 2025
Am 19.09.25 um 11:40 schrieb n.frey at proxmox.com:
> From: Nicolas Frey <n.frey at proxmox.com>
>
> Signed-off-by: Nicolas Frey <n.frey at proxmox.com>
> ---
> PVE/API2/APT.pm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 60 insertions(+), 1 deletion(-)
>
> diff --git a/PVE/API2/APT.pm b/PVE/API2/APT.pm
> index 0d07cf38..9a8406a8 100644
> --- a/PVE/API2/APT.pm
> +++ b/PVE/API2/APT.pm
> @@ -788,7 +788,66 @@ __PACKAGE__->register_method({
> type => "array",
> items => {
> type => "object",
> - properties => {},
> + properties => {
> + 'Arch' => {
> + type => 'string',
> + description => 'Package Architecture.',
Could be an enum, and would not hurt to add other archs besides "all" and "amd64"
here too, as while that are currently the only relevant ones for us, there are
some community projects for arm64 and riscv64 (not sure if those are the exact
architectures as Debian APT/DPKG uses them though, you need to confirm yourself)
> + },
> + 'Description' => {
> + type => 'string',
> + description => 'Human-readable package description.',
> + },
> + 'NotifyStatus' => {
> + type => 'string',
> + description =>
> + 'Version for which PVE has already sent an update notification for.',
> + optional => 1,
> + },
> + 'OldVersion' => {
> + type => 'string',
> + description => 'Old version currently installed.',
> + optional => 1,
The ordering of the keys feels a bit off, IMO it would be best to order
them alphabetically, as that's probably the most useful order when
browsing the code here,
> + },
> + 'Origin' => {
> + type => 'string',
> + description => 'Package origin.',
Including some examples what this might look like would IMO help a little
bit even if we might not be able to specify a complete enum here. E.g.:
"Package origin, e.g., 'Proxmox' or 'Debian'"
> + },
> + 'Package' => {
> + type => 'string',
> + description => 'Package name.',
> + },
> + 'Priority' => {
> + type => 'string',
> + description => 'Package priority in human-readable form.',
The priority as per APT/DPKG is always in human readable form though?
> + },
> + 'Section' => {
> + type => 'string',
> + description => 'Package section.',
> + },
> + 'Title' => {
> + type => 'string',
> + description => 'Package title.',
> + },
> + 'Version' => {
> + type => 'string',
> + description => 'New version to be updated to.',
> + },
> + 'CurrentState' => {
> + type => 'string',
> + description => 'Whether the Package is installed.',
> + format => '',
The empty string for the format has not much use, could be a enum, albeit
not 100% sure how future proof the variants from DPKG are (probably, but
would need checking).
> + },
> + 'RunningKernel' => {
> + type => 'string',
> + description => 'Kernel Release, only for Package "Proxmox Virtual Environment".',
s/Release/release/ and if you refer to the value of another field, like
with Package here, I'd use the actual value, like "proxmox-ve" here.
> + optional => 1,
> + },
> + 'ManagerVersion' => {
> + type => 'string',
> + description => 'Proxmox Virtual Environment Management Tools.',
Similar w.r.t. referring to the relevant package name, i.e. I'd use "pve-manager"
here. Like e.g.:
"Version of the currently running pve-manager API server."
> + optional => 1,
> + }
> + },
> },
> },
> code => sub {
More information about the pve-devel
mailing list