[pbs-devel] [PATCH proxmox-backup v3 00/10] notifications: cleanup in preparation of overridable templates
Lukas Wagner
l.wagner at proxmox.com
Fri Mar 28 11:22:32 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 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
More information about the pbs-devel
mailing list