From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
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 29864BED26
for ; Tue, 2 Jan 2024 12:07:44 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
by firstgate.proxmox.com (Proxmox) with ESMTP id 04C9515C47
for ; Tue, 2 Jan 2024 12:07:14 +0100 (CET)
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))
(No client certificate requested)
by firstgate.proxmox.com (Proxmox) with ESMTPS
for ; Tue, 2 Jan 2024 12:07:13 +0100 (CET)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
by proxmox-new.maurer-it.com (Proxmox) with ESMTP id BA916452AA
for ; Tue, 2 Jan 2024 12:07:12 +0100 (CET)
From: Philipp Hufnagl
To: pbs-devel@lists.proxmox.com
Date: Tue, 2 Jan 2024 12:06:51 +0100
Message-Id: <20240102110655.155329-1-p.hufnagl@proxmox.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results: 0
AWL -0.040 Adjusted score from AWL reputation of From: address
BAYES_00 -1.9 Bayes spam probability is 0 to 1%
DMARC_MISSING 0.1 Missing DMARC policy
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
T_SCC_BODY_TEXT_LINE -0.01 -
Subject: [pbs-devel] [PATCH proxmox-backup v7 0/4] fix #4315: datastore:
Exclude entries from sync
X-BeenThere: pbs-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Backup Server development discussion
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
X-List-Received-Date: Tue, 02 Jan 2024 11:07:44 -0000
This allows to use Group Filter for sync jobs so matches can not just be
included but also excluded. For this the "group-filter" configuration
syntax has been extended with an optional "behaviour" parameter.
this can be "include" or "exclude". First, all include filter will be
applied, then all exclude filter. If no include filters exist, all will
be considered included.
Signed-off-by: Philipp Hufnagl
---
Changes since v6:
* Optimize apply_filter to use less memory
Changes since v5:
* add apply_filter to GrpupFilter member
* do include/eclude filter seperation in apply_filter
* minor code improvements based on feedback
Changes since v4:
* add testing
* refactor apply filter logic to reduce duplicaton
* split filter in incude/exclude lists
Changes since v3:
* increase size of delete icon
* include all when no include filter exist
Changes since v2:
* rebase to new master
* change docu as suggested
* make list for filter smaller
Changes since v1:
* rename behaviour in behavior
* modify behavior, so that first all include filter will be executed,
then all exlude one
Philipp Hufnagl (4):
fix #4315: jobs: modify GroupFilter so include/exclude is tracked
ui: Show if Filter includes or excludes
docs: document new include/exclude paramenter
tests: check if include/exclude behavior works correctly
docs/managing-remotes.rst | 13 ++
pbs-api-types/src/datastore.rs | 36 +++--
pbs-api-types/src/jobs.rs | 51 ++++++--
src/api2/tape/backup.rs | 39 +++---
src/server/pull.rs | 46 +++----
tests/sync_jobs.rs | 76 +++++++++++
www/form/GroupFilter.js | 233 ++++++++++++++++++++++++---------
7 files changed, 358 insertions(+), 136 deletions(-)
create mode 100644 tests/sync_jobs.rs
--
2.39.2