[pbs-devel] [PATCH proxmox-backup v2 00/10] notifications: cleanup in preparation of overridable templates

Lukas Wagner l.wagner at proxmox.com
Thu Mar 27 15:55:23 CET 2025


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 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     | 341 +++++++++++++++++
 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, 640 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, 640 insertions(+), 245 deletions(-)

-- 
Generated by git-murpp 0.8.0




More information about the pbs-devel mailing list