From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <f.ebner@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id ADC5A7189F;
 Fri, 11 Jun 2021 13:44:55 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 70D28108A3;
 Fri, 11 Jun 2021 13:44:25 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [94.136.29.106])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS id E066110872;
 Fri, 11 Jun 2021 13:44:23 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id AD8F842F04;
 Fri, 11 Jun 2021 13:44:23 +0200 (CEST)
From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com,
	pbs-devel@lists.proxmox.com
Date: Fri, 11 Jun 2021 13:43:49 +0200
Message-Id: <20210611114418.28772-1-f.ebner@proxmox.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.937 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [apt.rs, apt.pm]
Subject: [pve-devel] [PATCH-SERIES v6] APT repositories API/UI
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Fri, 11 Jun 2021 11:44:55 -0000

List the configured repositories, have some basic checks for them, and
allow upgrading the package distribution before a major release.

The plan is to use perlmod to make the Rust implementation available for PVE+PMG
as well.


Changes from v5:
    * The main addition is how the upgrade call is enabled/disabled:
      The idea is to do it in the proxmox-apt library itself and bump the
      versions accordingly. It'll always be disabled in the master branch and
      after each major release the major version will be bumped, while the
      stable branch will bump the minor version when it enables the call. Each
      product can then depend on the new major version in its master branch and
      on the new minor version in its stable branch.
      Hope I didn't miss a much easier/better way to do this.
    * Replace buster/updates with bullseye-security for the upgrade.
    * Assert that current os-release is what we expect for the upgrade function.
    * Add link to the upgrade docs in the upgrade button confirm dialog.
    * Avoid false negatives by marking *.proxmox.com *.debian.org as official
      (e.g. snapshot.debian.org was missing)
    * Handle port and userinfo in URI for host detection.


Still missing (intended as followups):
    * integration in PMG.

Changes v4 -> v5:
    * some minor style improvements
    * call cargo clean with make clean in proxmox-apt
    * require 'deb' package type to detect enterprise/no-subscription repos
    * moved common_digest helper to the library
    * add replace_suite function in proxmox-apt and refactored suite_is_variant
      for re-use
    * ui: add reload button
    * ui: don't pass undefined digest parameter
    * add upgrade button
    * add RFC for PBS upgrade call
    * add RFCs for PVE integration


Changes v3 -> v4:
    * incorporate Fabian G.'s feedback:
        * switch to a per-file approach
        * check for official host names
        * fix case-sensitivity issue for .sources keys
        * include digests
    * fix write issue when there are no components (in case of an absolute suite)
    * add more tests


Changes v2 -> v3:
    * incorporate Wolfgang's feedback
    * improve main warning's UI

Changes v1 -> v2:
    * Perl -> Rust
    * PVE -> PBS
    * Don't rely on regexes for parsing.
    * Add writer and tests.
    * UI: pin warnings to the repository they're for.
    * Keep order of options consistent with configuration.
    * Smaller things noted on the individual patches.


proxmox-apt:

Fabian Ebner (9):
  initial commit
  add files for Debian packaging
  add functions to check for Proxmox repositories
  add check_repositories function
  add common_digest helper
  add release_upgrade function and constants for the current and upgrade
    suite
  bump version to 0.1.1-1
  update for bullseye
  bump version to 1.0.0-1

Fabian Ebner (2):
  allow upgrade to bullseye
  bump version to 0.2.0-1


proxmox-widget-toolkit:

Fabian Ebner (3):
  add UI for APT repositories
  APT repositories: add warnings
  add upgrade button

 src/Makefile                |   1 +
 src/node/APTRepositories.js | 477 ++++++++++++++++++++++++++++++++++++
 2 files changed, 478 insertions(+)
 create mode 100644 src/node/APTRepositories.js


proxmox-backup:

Fabian Ebner (6):
  depend on new proxmox-apt crate
  api: apt: add repositories call
  ui: add APT repositories
  api: apt: add check_repositories_call
  add upgrade_repositories call
  enable release upgrade for package repositories

 Cargo.toml                  |   1 +
 debian/control              |   1 +
 src/api2/node/apt.rs        | 177 +++++++++++++++++++++++++++++++++++-
 www/ServerAdministration.js |  13 +++
 4 files changed, 191 insertions(+), 1 deletion(-)


pve-rs:

Fabian Ebner (3):
  initial commit
  add files for Debian packaging
  apt: add upgrade_repositories call

Fabian Ebner (1):
  depend on proxmox-apt 0.2.0


pve-manager:

Fabian Ebner (5):
  api: apt: add call to list repositories
  ui: add panel for listing APT repositories
  api: apt: add call for repository check
  api: apt: add upgrade repos call
  ui: node config: enable release upgrade button for package
    repositories

 PVE/API2/APT.pm             | 267 ++++++++++++++++++++++++++++++++++++
 www/manager6/node/Config.js |   9 ++
 2 files changed, 276 insertions(+)

-- 
2.20.1