feat(oci): a notification for Modify, and the documentation under the same name

This commit is contained in:
MacRimi
2026-10-06 20:04:46 +02:00
parent a60e065d33
commit 42c927ecfd
32 changed files with 291 additions and 139 deletions
+13 -1
View File
@@ -2006,6 +2006,8 @@
"oci_update_failed": "Aktualisierung der OCI-Anwendung fehlgeschlagen",
"oci_recreate_completed": "OCI-Anwendung neu erstellt",
"oci_recreate_failed": "Neuerstellung der OCI-Anwendung fehlgeschlagen",
"oci_modify_completed": "OCI-Anwendung geändert",
"oci_modify_failed": "Änderung der OCI-Anwendung fehlgeschlagen",
"app_update_available": "App-Update verfügbar",
"lxc_update_applied": "LXC Update angewendet",
"docker_stack_update_available": "Docker Updates verfügbar"
@@ -6421,7 +6423,7 @@
},
"oci_recreate_completed": {
"title": "{hostname}: {app_name} neu erstellt",
"body": "{app_name} wurde mit den neuen Optionen neu erstellt, die Daten wurden beibehalten.\nContainer: {containers}",
"body": "{app_name} wurde mit der gespeicherten Konfiguration neu erstellt, die Daten wurden beibehalten.\nContainer: {containers}",
"label": "OCI-Anwendung neu erstellt"
},
"oci_recreate_failed": {
@@ -6429,6 +6431,16 @@
"body": "Die Neuerstellung von {app_name} wurde nicht abgeschlossen.\nGrund: {reason}\nContainer: {containers}\nÖffnen Sie „Installierte OCI-Anwendungen verwalten“, um den Zustand zu prüfen.",
"label": "Neuerstellung der OCI-Anwendung fehlgeschlagen"
},
"oci_modify_completed": {
"title": "{hostname}: {app_name} geändert",
"body": "{app_name} wurde mit den neuen Optionen geändert, die Daten wurden beibehalten.\nContainer: {containers}",
"label": "OCI-Anwendung geändert"
},
"oci_modify_failed": {
"title": "{hostname}: Änderung von {app_name} nicht abgeschlossen",
"body": "Die Änderung von {app_name} wurde nicht abgeschlossen.\nGrund: {reason}\nContainer: {containers}\nÖffnen Sie „Installierte OCI-Anwendungen verwalten“, um den Zustand zu prüfen.",
"label": "Änderung der OCI-Anwendung fehlgeschlagen"
},
"app_update_available": {
"title": "{hostname}: {app_name} Update verfügbar auf CT {vmid}",
"body": "{app_name} auf CT {vmid} ({ct_name}) hat eine neue Version:\n {installed} → {latest}",
File diff suppressed because one or more lines are too long
+13 -1
View File
@@ -1993,6 +1993,8 @@
"oci_update_failed": "Actualización de aplicación OCI fallida",
"oci_recreate_completed": "Aplicación OCI recreada",
"oci_recreate_failed": "Recreación de aplicación OCI fallida",
"oci_modify_completed": "Aplicación OCI modificada",
"oci_modify_failed": "Modificación de aplicación OCI fallida",
"app_update_available": "Actualización de app disponible",
"ai_model_migrated": "Modelo de IA actualizado automáticamente",
"proxmenux_update": "Actualización de ProxMenux disponible",
@@ -6421,7 +6423,7 @@
},
"oci_recreate_completed": {
"title": "{hostname}: {app_name} recreado",
"body": "{app_name} se ha recreado con sus nuevas opciones y sus datos se han conservado.\nContenedores: {containers}",
"body": "{app_name} se ha recreado con su configuración guardada y sus datos se han conservado.\nContenedores: {containers}",
"label": "Aplicación OCI recreada"
},
"oci_recreate_failed": {
@@ -6429,6 +6431,16 @@
"body": "La recreación de {app_name} no se completó.\nMotivo: {reason}\nContenedores: {containers}\nAbre Gestionar aplicaciones OCI instaladas para comprobar su estado.",
"label": "Recreación de aplicación OCI fallida"
},
"oci_modify_completed": {
"title": "{hostname}: {app_name} modificado",
"body": "{app_name} se ha modificado con sus nuevas opciones y sus datos se han conservado.\nContenedores: {containers}",
"label": "Aplicación OCI modificada"
},
"oci_modify_failed": {
"title": "{hostname}: la modificación de {app_name} no se completó",
"body": "La modificación de {app_name} no se completó.\nMotivo: {reason}\nContenedores: {containers}\nAbre Gestionar aplicaciones OCI instaladas para comprobar su estado.",
"label": "Modificación de aplicación OCI fallida"
},
"app_update_available": {
"title": "{hostname}: actualización de {app_name} disponible en CT {vmid}",
"body": "{app_name} en CT {vmid} ({ct_name}) tiene una nueva versión:\n {installed} → {latest}",
+13 -1
View File
@@ -2006,6 +2006,8 @@
"oci_update_failed": "Échec de la mise à jour de l'application OCI",
"oci_recreate_completed": "Application OCI recréée",
"oci_recreate_failed": "Échec de la recréation de l'application OCI",
"oci_modify_completed": "Application OCI modifiée",
"oci_modify_failed": "Échec de la modification de l'application OCI",
"app_update_available": "mise à jour de l'application disponible",
"lxc_update_applied": "Mise à jour LXC appliquée",
"docker_stack_update_available": "Docker mises à jour disponibles"
@@ -6421,7 +6423,7 @@
},
"oci_recreate_completed": {
"title": "{hostname} : {app_name} recréé",
"body": "{app_name} a été recréé avec ses nouvelles options et ses données ont été conservées.\nConteneurs : {containers}",
"body": "{app_name} a été recréé avec sa configuration enregistrée et ses données ont été conservées.\nConteneurs : {containers}",
"label": "Application OCI recréée"
},
"oci_recreate_failed": {
@@ -6429,6 +6431,16 @@
"body": "La recréation de {app_name} n'a pas abouti.\nMotif : {reason}\nConteneurs : {containers}\nOuvrez Gérer les applications OCI installées pour vérifier son état.",
"label": "Échec de la recréation de l'application OCI"
},
"oci_modify_completed": {
"title": "{hostname} : {app_name} modifié",
"body": "{app_name} a été modifié avec ses nouvelles options et ses données ont été conservées.\nConteneurs : {containers}",
"label": "Application OCI modifiée"
},
"oci_modify_failed": {
"title": "{hostname} : la modification de {app_name} n'a pas abouti",
"body": "La modification de {app_name} n'a pas abouti.\nMotif : {reason}\nConteneurs : {containers}\nOuvrez Gérer les applications OCI installées pour vérifier son état.",
"label": "Échec de la modification de l'application OCI"
},
"app_update_available": {
"title": "{hostname} : mise à jour {app_name} disponible sur CT {vmid}",
"body": "{app_name} sur CT {vmid} ({ct_name}) a une nouvelle version :\n {installed} → {latest}",
+13 -1
View File
@@ -2006,6 +2006,8 @@
"oci_update_failed": "Aggiornamento app OCI non riuscito",
"oci_recreate_completed": "App OCI ricreata",
"oci_recreate_failed": "Ricreazione app OCI non riuscita",
"oci_modify_completed": "App OCI modificata",
"oci_modify_failed": "Modifica app OCI non riuscita",
"app_update_available": "Aggiornamento app disponibile",
"lxc_update_applied": "Aggiornamento LXC applicato",
"docker_stack_update_available": "Aggiornamenti Docker disponibili"
@@ -6421,7 +6423,7 @@
},
"oci_recreate_completed": {
"title": "{hostname}: ricreazione di {app_name} completata",
"body": "{app_name} è stato ricreato con le nuove opzioni e i dati sono stati conservati.\nContenitori: {containers}",
"body": "{app_name} è stato ricreato con la configurazione salvata e i dati sono stati conservati.\nContenitori: {containers}",
"label": "Applicazione OCI ricreata"
},
"oci_recreate_failed": {
@@ -6429,6 +6431,16 @@
"body": "La ricreazione di {app_name} non è stata completata.\nMotivo: {reason}\nContainer: {containers}\nApri «Gestisci le applicazioni OCI installate» per verificarne lo stato.",
"label": "Ricreazione app OCI non riuscita"
},
"oci_modify_completed": {
"title": "{hostname}: modifica di {app_name} completata",
"body": "{app_name} è stato modificato con le nuove opzioni e i dati sono stati conservati.\nContenitori: {containers}",
"label": "Applicazione OCI modificata"
},
"oci_modify_failed": {
"title": "{hostname}: modifica di {app_name} non completata",
"body": "La modifica di {app_name} non è stata completata.\nMotivo: {reason}\nContainer: {containers}\nApri «Gestisci le applicazioni OCI installate» per verificarne lo stato.",
"label": "Modifica app OCI non riuscita"
},
"app_update_available": {
"title": "{hostname}: aggiornamento {app_name} disponibile su CT {vmid}",
"body": "{app_name} su CT {vmid} ({ct_name}) ha una nuova versione:\n {installed} → {latest}",
+13 -1
View File
@@ -2006,6 +2006,8 @@
"oci_update_failed": "Falha na atualização da aplicação OCI",
"oci_recreate_completed": "Aplicação OCI recriada",
"oci_recreate_failed": "Falha na recriação da aplicação OCI",
"oci_modify_completed": "Aplicação OCI modificada",
"oci_modify_failed": "Falha na modificação da aplicação OCI",
"app_update_available": "atualização de aplicativo disponível",
"lxc_update_applied": "Atualização LXC aplicada",
"docker_stack_update_available": "Docker atualizações disponíveis"
@@ -6421,7 +6423,7 @@
},
"oci_recreate_completed": {
"title": "{hostname}: {app_name} recriado",
"body": "{app_name} foi recriado com as novas opções e os dados foram mantidos.\nContêineres: {containers}",
"body": "{app_name} foi recriado com a configuração guardada e os dados foram mantidos.\nContêineres: {containers}",
"label": "Aplicação OCI recriada"
},
"oci_recreate_failed": {
@@ -6429,6 +6431,16 @@
"body": "A recriação de {app_name} não foi concluída.\nMotivo: {reason}\nContêineres: {containers}\nAbra Gerir aplicações OCI instaladas para verificar o estado.",
"label": "Falha na recriação da aplicação OCI"
},
"oci_modify_completed": {
"title": "{hostname}: {app_name} modificado",
"body": "{app_name} foi modificado com as novas opções e os dados foram mantidos.\nContêineres: {containers}",
"label": "Aplicação OCI modificada"
},
"oci_modify_failed": {
"title": "{hostname}: a modificação de {app_name} não foi concluída",
"body": "A modificação de {app_name} não foi concluída.\nMotivo: {reason}\nContêineres: {containers}\nAbra Gerir aplicações OCI instaladas para verificar o estado.",
"label": "Falha na modificação da aplicação OCI"
},
"app_update_available": {
"title": "{hostname}: atualização {app_name} disponível no CT {vmid}",
"body": "{app_name} no CT {vmid} ({ct_name}) tem uma nova versão:\n {installed} → {latest}",
+13 -1
View File
@@ -2007,6 +2007,8 @@
"oci_update_failed": "Aktualizácia OCI aplikácie zlyhala",
"oci_recreate_completed": "OCI aplikácia znovu vytvorená",
"oci_recreate_failed": "Opätovné vytvorenie OCI aplikácie zlyhalo",
"oci_modify_completed": "OCI aplikácia upravená",
"oci_modify_failed": "Úprava OCI aplikácie zlyhala",
"app_update_available": "K dispozícii je aktualizácia aplikácie"
},
"ui": {
@@ -6420,7 +6422,7 @@
},
"oci_recreate_completed": {
"title": "{hostname}: {app_name} znovu vytvorená",
"body": "Aplikácia {app_name} bola znovu vytvorená s novými možnosťami a jej dáta zostali zachované.\nKontajnery: {containers}",
"body": "Aplikácia {app_name} bola znovu vytvorená s uloženými nastaveniami a jej dáta zostali zachované.\nKontajnery: {containers}",
"label": "OCI aplikácia znovu vytvorená"
},
"oci_recreate_failed": {
@@ -6428,6 +6430,16 @@
"body": "Opätovné vytvorenie aplikácie {app_name} sa nedokončilo.\nDôvod: {reason}\nKontajnery: {containers}\nOtvorte Spravovať nainštalované OCI aplikácie a skontrolujte jej stav.",
"label": "Opätovné vytvorenie OCI aplikácie zlyhalo"
},
"oci_modify_completed": {
"title": "{hostname}: {app_name} upravená",
"body": "Aplikácia {app_name} bola upravená s novými možnosťami a jej dáta zostali zachované.\nKontajnery: {containers}",
"label": "OCI aplikácia upravená"
},
"oci_modify_failed": {
"title": "{hostname}: úprava {app_name} sa nedokončila",
"body": "Úprava aplikácie {app_name} sa nedokončila.\nDôvod: {reason}\nKontajnery: {containers}\nOtvorte Spravovať nainštalované OCI aplikácie a skontrolujte jej stav.",
"label": "Úprava OCI aplikácie zlyhala"
},
"app_update_available": {
"title": "{hostname}: Pre {app_name} je na CT {vmid} dostupná aktualizácia",
"body": "Aplikácia {app_name} na CT {vmid} ({ct_name}) má novú verziu:\n {installed} → {latest}",
+13 -1
View File
@@ -2006,6 +2006,8 @@
"oci_update_failed": "Uppdatering av OCI-applikation misslyckades",
"oci_recreate_completed": "OCI-applikation återskapad",
"oci_recreate_failed": "Återskapande av OCI-applikation misslyckades",
"oci_modify_completed": "OCI-applikation ändrad",
"oci_modify_failed": "Ändring av OCI-applikation misslyckades",
"app_update_available": "Appuppdatering tillgänglig",
"lxc_update_applied": "LXC uppdatering tillämpad",
"docker_stack_update_available": "Docker uppdateringar tillgängliga"
@@ -6421,7 +6423,7 @@
},
"oci_recreate_completed": {
"title": "{hostname}: {app_name} återskapad",
"body": "{app_name} återskapades med sina nya alternativ och dess data behölls.\nContainrar: {containers}",
"body": "{app_name} återskapades med sin sparade konfiguration och dess data behölls.\nContainrar: {containers}",
"label": "OCI-applikation återskapad"
},
"oci_recreate_failed": {
@@ -6429,6 +6431,16 @@
"body": "Återskapandet av {app_name} slutfördes inte.\nOrsak: {reason}\nContainrar: {containers}\nÖppna Hantera installerade OCI-applikationer för att kontrollera dess tillstånd.",
"label": "Återskapande av OCI-applikation misslyckades"
},
"oci_modify_completed": {
"title": "{hostname}: {app_name} ändrad",
"body": "{app_name} ändrades med sina nya alternativ och dess data behölls.\nContainrar: {containers}",
"label": "OCI-applikation ändrad"
},
"oci_modify_failed": {
"title": "{hostname}: ändringen av {app_name} slutfördes inte",
"body": "Ändringen av {app_name} slutfördes inte.\nOrsak: {reason}\nContainrar: {containers}\nÖppna Hantera installerade OCI-applikationer för att kontrollera dess tillstånd.",
"label": "Ändring av OCI-applikation misslyckades"
},
"app_update_available": {
"title": "{hostname}: {app_name} uppdatering tillgänglig på CT {vmid}",
"body": "{app_name} på CT {vmid} ({ct_name}) har en ny version:\n {installed} → {latest}",
@@ -1630,12 +1630,13 @@ def internal_shutdown_event():
_OCI_EVENTS = {
'oci_update_completed': 'INFO', 'oci_update_failed': 'WARNING',
'oci_recreate_completed': 'INFO', 'oci_recreate_failed': 'WARNING',
'oci_modify_completed': 'INFO', 'oci_modify_failed': 'WARNING',
}
@notification_bp.route('/api/internal/oci-event', methods=['POST'])
def internal_oci_event():
"""Called by the OCI engine when an update or a recreation ends, with its
"""Called by the OCI engine when an update, a change or a recreation ends, with its
result. Only accepts requests from this host."""
remote_addr = request.remote_addr or ''
try:
+22 -1
View File
@@ -891,7 +891,7 @@ TEMPLATES = {
},
'oci_recreate_completed': {
'title': '{hostname}: {app_name} recreated',
'body': '{app_name} was recreated with its new options and its data was kept.\nContainers: {containers}',
'body': '{app_name} was recreated with its saved configuration and its data was kept.\nContainers: {containers}',
'label': 'OCI application recreated',
'group': 'vm_ct',
'default_enabled': True,
@@ -908,6 +908,25 @@ TEMPLATES = {
'group': 'vm_ct',
'default_enabled': True,
},
'oci_modify_completed': {
'title': '{hostname}: {app_name} modified',
'body': '{app_name} was modified with its new options and its data was kept.\nContainers: {containers}',
'label': 'OCI application modified',
'group': 'vm_ct',
'default_enabled': True,
},
'oci_modify_failed': {
'title': '{hostname}: {app_name} modification did not complete',
'body': (
'The modification of {app_name} did not complete.\n'
'Reason: {reason}\n'
'Containers: {containers}\n'
'Open Manage installed OCI applications to check its state.'
),
'label': 'OCI application modification failed',
'group': 'vm_ct',
'default_enabled': True,
},
'app_update_available': {
'title': '{hostname}: {app_name} update available on CT {vmid}',
'body': (
@@ -2356,6 +2375,8 @@ EVENT_EMOJI = {
'oci_update_failed': '\u26A0\uFE0F',
'oci_recreate_completed': '\u2705',
'oci_recreate_failed': '\u26A0\uFE0F',
'oci_modify_completed': '\u2705',
'oci_modify_failed': '\u26A0\uFE0F',
'app_update_available': '\U0001F195', # \ud83c\udd95 NEW \u2014 upstream app release
'docker_stack_update_available': '\U0001F433',
'vm_start': '\u25B6\uFE0F', # play button