From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pbs-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id 7AF251FF164
	for <inbox@lore.proxmox.com>; Fri, 28 Mar 2025 11:22:57 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 093B336A7C;
	Fri, 28 Mar 2025 11:22:51 +0100 (CET)
From: Lukas Wagner <l.wagner@proxmox.com>
To: pbs-devel@lists.proxmox.com
Date: Fri, 28 Mar 2025 11:22:32 +0100
Message-Id: <20250328102242.75539-1-l.wagner@proxmox.com>
X-Mailer: git-send-email 2.39.5
MIME-Version: 1.0
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.013 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
Subject: [pbs-devel] [PATCH proxmox-backup v3 00/10] notifications: cleanup
 in preparation of overridable templates
X-BeenThere: pbs-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Backup Server development discussion
 <pbs-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/>
List-Post: <mailto:pbs-devel@lists.proxmox.com>
List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox Backup Server development discussion
 <pbs-devel@lists.proxmox.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: pbs-devel-bounces@lists.proxmox.com
Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com>

When the notification system was brought to PBS, the template strings
were moved to the template files as they were, without any changes.
The original templates were an implementation detail which were not
exposed to the user in any way.
They were bit inconsistent with regards to how template variables were
named (e.g. '{{datastore}}', '{{store}}', '{{job.store}}' for
referring to a datastore), as well es how variables/helpers 
were accessed ({{ var }} vs {{var}}).

With [#6143] on the horizon, notification templates, template variables
and template helpers become part of our public API and as such
we should provide some stability guarantees for them.
As a result, we use this opportunity to do a 'final' cleanup.

The aims of this series are:
  - cleanup inconsistencies in the existing templates
  - add custom types which are used to pass template variables
    to the notification system, serving as documentation of what
    is passed exactly to each template, as well as protection
    against accidentally leaking interal code changes into
    the template rendering process

This series also removes the HTML version of the test notification template.
In PBS, this was the only template for which we shipped an HTML version.
This might bee a bit confusing for users writing their own templates,
hence it is removed. If we ever add HTML templates for the other notification
types we can add it back.

[#6143] https://bugzilla.proxmox.com/show_bug.cgi?id=6143

Changes since v2:
  - Add the `fqdn` variable to unify it with PVE

Changes since v1:
- Change some template variables for apt notifications
  - version -> available-version
  - old_version -> installed-version
  - name -> package-name
- Use anyhows alternate representation (e.g. format!("{err:#}"))
  to include error context in notifications (thx Wolfgang)

proxmox-backup:

Lukas Wagner (10):
  notifications: move make notifications module a dir-style module
  notifications: add type for GC notification template data
  notifications: add type for ACME notification template data
  notifications: add type for APT notification template data
  notifications: add type for prune notification template data
  notifications: add type for sync notification template data
  notifications: add type for tape backup notification template data
  notifications: add type for tape load notification template data
  notifications: add type for verify notification template data
  notifications: remove HTML template for test notification

 debian/proxmox-backup-server.install          |   1 -
 .../mod.rs}                                   | 357 ++++++++++--------
 src/server/notifications/template_data.rs     | 344 +++++++++++++++++
 templates/Makefile                            |   1 -
 templates/default/acme-err-body.txt.hbs       |   2 +-
 templates/default/gc-err-body.txt.hbs         |   2 +-
 templates/default/gc-err-subject.txt.hbs      |   2 +-
 templates/default/gc-ok-body.txt.hbs          |  22 +-
 templates/default/gc-ok-subject.txt.hbs       |   2 +-
 .../default/package-updates-body.txt.hbs      |   8 +-
 .../default/package-updates-subject.txt.hbs   |   2 +-
 templates/default/prune-err-body.txt.hbs      |   6 +-
 templates/default/prune-err-subject.txt.hbs   |   2 +-
 templates/default/prune-ok-body.txt.hbs       |   6 +-
 templates/default/prune-ok-subject.txt.hbs    |   2 +-
 templates/default/sync-err-body.txt.hbs       |  14 +-
 templates/default/sync-err-subject.txt.hbs    |   8 +-
 templates/default/sync-ok-body.txt.hbs        |  14 +-
 templates/default/sync-ok-subject.txt.hbs     |   6 +-
 .../default/tape-backup-err-body.txt.hbs      |  18 +-
 .../default/tape-backup-err-subject.txt.hbs   |   6 +-
 templates/default/tape-backup-ok-body.txt.hbs |  20 +-
 .../default/tape-backup-ok-subject.txt.hbs    |   6 +-
 templates/default/tape-load-body.txt.hbs      |  14 +-
 templates/default/tape-load-subject.txt.hbs   |   2 +-
 templates/default/test-body.html.hbs          |   1 -
 templates/default/test-body.txt.hbs           |   2 +-
 templates/default/verify-err-body.txt.hbs     |   8 +-
 templates/default/verify-err-subject.txt.hbs  |   2 +-
 templates/default/verify-ok-body.txt.hbs      |   6 +-
 templates/default/verify-ok-subject.txt.hbs   |   2 +-
 31 files changed, 643 insertions(+), 245 deletions(-)
 rename src/server/{notifications.rs => notifications/mod.rs} (66%)
 create mode 100644 src/server/notifications/template_data.rs
 delete mode 100644 templates/default/test-body.html.hbs


Summary over all repositories:
  31 files changed, 643 insertions(+), 245 deletions(-)

-- 
Generated by git-murpp 0.8.0


_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel