Update Beta 1.2.1.2

This commit is contained in:
MacRimi
2026-05-20 19:47:42 +02:00
parent 4112323961
commit 298cd2c6d4
15 changed files with 781 additions and 109 deletions
+46 -14
View File
@@ -1176,60 +1176,91 @@ TEMPLATES = {
'group': 'updates',
'default_enabled': True,
},
# Sprint 14.7 follow-up: host-side Coral TPU driver. Mirrors the
# NVIDIA flow — there's no in-dashboard "Apply update" button; the
# operator reruns the installer from the post-install menu. The
# PCIe (gasket-dkms) and USB (libedgetpu1-*) variants share one
# template and use {variant_label} to surface which is moving so
# the body stays readable in either case.
'coral_driver_update_available': {
'title': '{hostname}: Coral TPU driver update available — {latest_version}',
'body': (
'A newer {variant_label} is available.\n'
'🔹 Currently installed: {current_version}\n'
'🟢 Latest available: {latest_version}\n\n'
'{upgrade_reason}\n\n'
'💡 To reinstall:\n'
' • From the ProxMenux post-install menu: {menu_label}\n\n'
'{reboot_note}'
),
'label': 'Coral TPU driver update available',
'group': 'updates',
'default_enabled': True,
},
# ── Burst aggregation summaries (hidden -- auto-generated by BurstAggregator) ──
# These inherit enabled state from their parent event type at dispatch time.
#
# IMPORTANT — `{count}` here is the count of *additional* events that
# arrived AFTER the first one was already sent individually on the
# fast-alert path (see notification_manager.py:_create_summary). It is
# NOT the total event count in the window; that lives in `{total_count}`.
# The wording must reflect "more / additional" so the user does not
# mistake a 2-event burst for a duplicate of the initial individual
# notification. The first event has already been delivered when this
# summary fires.
'burst_auth_fail': {
'title': '{hostname}: {count} auth failures in {window}',
'body': '{count} authentication failures detected in {window}.\nSources: {entity_list}',
'title': '{hostname}: +{count} more auth failures in {window}',
'body': '+{count} additional authentication failures detected in {window} ({total_count} total).\nSources: {entity_list}',
'label': 'Auth failures burst',
'group': 'security',
'default_enabled': True,
'hidden': True,
},
'burst_ip_block': {
'title': '{hostname}: Fail2Ban banned {count} IPs in {window}',
'body': '{count} IPs banned by Fail2Ban in {window}.\nIPs: {entity_list}',
'title': '{hostname}: Fail2Ban banned +{count} more IPs in {window}',
'body': '+{count} additional IPs banned by Fail2Ban in {window} ({total_count} total).\nIPs: {entity_list}',
'label': 'IP block burst',
'group': 'security',
'default_enabled': True,
'hidden': True,
},
'burst_disk_io': {
'title': '{hostname}: {count} disk I/O errors on {entity_list}',
'body': '{count} I/O errors detected in {window}.\nDevices: {entity_list}',
'title': '{hostname}: +{count} more disk I/O errors on {entity_list}',
'body': '+{count} additional I/O errors detected in {window} ({total_count} total).\nDevices: {entity_list}',
'label': 'Disk I/O burst',
'group': 'storage',
'default_enabled': True,
'hidden': True,
},
'burst_cluster': {
'title': '{hostname}: Cluster flapping detected ({count} changes)',
'body': 'Cluster state changed {count} times in {window}.\nNodes: {entity_list}',
'title': '{hostname}: Cluster flapping detected (+{count} more changes)',
'body': 'Cluster state changed +{count} more times in {window} ({total_count} total).\nNodes: {entity_list}',
'label': 'Cluster flapping burst',
'group': 'cluster',
'default_enabled': True,
'hidden': True,
},
'burst_service_fail': {
'title': '{hostname}: {count} services failed in {window}',
'body': '{count} service failures detected in {window}.\nThis typically indicates a node reboot or PVE service restart.\n\nAdditional failures:\n{details}',
'title': '{hostname}: +{count} more services failed in {window}',
'body': '+{count} additional service failures detected in {window} ({total_count} total).\nThis typically indicates a node reboot or PVE service restart.\n\nAdditional failures:\n{details}',
'label': 'Service fail burst',
'group': 'services',
'default_enabled': True,
'hidden': True,
},
'burst_system': {
'title': '{hostname}: {count} system problems in {window}',
'body': '{count} system problems detected in {window}.\n\nAdditional issues:\n{details}',
'title': '{hostname}: +{count} more system problems in {window}',
'body': '+{count} additional system problems detected in {window} ({total_count} total).\n\nAdditional issues:\n{details}',
'label': 'System problems burst',
'group': 'services',
'default_enabled': True,
'hidden': True,
},
'burst_generic': {
'title': '{hostname}: {count} {event_type} events in {window}',
'body': '{count} events of type {event_type} in {window}.\n\nAdditional events:\n{details}',
'title': '{hostname}: +{count} more {event_type} events in {window}',
'body': '+{count} additional events of type {event_type} in {window} ({total_count} total).\n\nAdditional events:\n{details}',
'label': 'Generic burst',
'group': 'other',
'default_enabled': True,
@@ -1559,6 +1590,7 @@ EVENT_EMOJI = {
'post_install_update': '', # sparkles
'secure_gateway_update_available': '\U0001F510', # 🔐 closed lock with key
'nvidia_driver_update_available': '\U0001F3AE', # 🎮 video game (GPU)
'coral_driver_update_available': '\U0001F9E0', # 🧠 brain (TPU/inference)
# AI
'ai_model_migrated': '\U0001F504', # arrows counterclockwise (refresh/update)
# GPU / PCIe