mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-10-01 02:56:41 +00:00
ProxMenux 1.2.6.2-beta: OCI containers in the Monitor, docs and fixes
OCI manager Apps - App tab: containers installed from an OCI image are identified from their installation record; the application and image versions are shown and an update is detected by image digest; repository link; Refresh data. - Updates tab for OCI containers: Update and Recreate run the same flow as the OCI menu in the Monitor terminal; the pre-update backup can be kept in a backup storage; scheduled image updates with an optional minimum age. - Logs tab: console output of the application, kept on the host (lxc.console.logfile + logrotate) and followed live. - The Proxmox console opens a shell (cmode: shell) when the image has one. - A damaged image download is fetched again before failing. - Multi-container applications open at their LAN address; volume mount points on block storage report their usage. Monitor - Proxmox notifications are delivered to a loopback-only HTTP listener when HTTPS is enabled, so they no longer fail certificate verification. - Log persistence counts recurring patterns only; an ended burst is not reported as persistent and its warning clears on its own (#386). - Proxmox notification config backups are deduplicated and capped at three. - The update icon on the Apps page opens the container on its Updates tab. - Version 1.2.6.2-beta and its release notes in every Monitor language. Docs - OCI manager Apps and Audit & Report rebuilt as per-page message files, with a new page for OCI containers in the Monitor. - Seven pages fixed where rich-text tags were missing from t.rich. Translations - Spanish fixes across the OCI engine, the Monitor and the TUI menus. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
386d33df6e
commit
4437a671d2
@@ -93,11 +93,11 @@ class GitHubSource:
|
||||
remaining = exc.headers.get("X-RateLimit-Remaining")
|
||||
if exc.code == 403 and remaining == "0":
|
||||
raise SourceError(
|
||||
f"GitHub devolvio HTTP 403 para {url}. "
|
||||
"Define GITHUB_TOKEN para ampliar el limite de la API."
|
||||
f"GitHub returned HTTP 403 for {url}. "
|
||||
"Set GITHUB_TOKEN to raise the API rate limit."
|
||||
) from exc
|
||||
if exc.code not in {429, 500, 502, 503, 504}:
|
||||
raise SourceError(f"GitHub devolvio HTTP {exc.code} para {url}.") from exc
|
||||
raise SourceError(f"GitHub returned HTTP {exc.code} para {url}.") from exc
|
||||
except (urllib.error.URLError, TimeoutError) as exc:
|
||||
last_error = exc
|
||||
if attempt < 2:
|
||||
@@ -142,7 +142,7 @@ class GitHubSource:
|
||||
def proxmenux_app_metadata(self) -> dict[str, dict[str, Any]]:
|
||||
payload = self.get_json(PROXMENUX_HELPERS_URL)
|
||||
if not isinstance(payload, list):
|
||||
raise SourceError("El catalogo de aplicaciones de ProxMenux no es una lista")
|
||||
raise SourceError("The ProxMenux application catalogue is not a list")
|
||||
result: dict[str, dict[str, Any]] = {}
|
||||
for item in payload:
|
||||
if not isinstance(item, dict) or not item.get("slug"):
|
||||
@@ -160,7 +160,7 @@ class GitHubSource:
|
||||
revision = str(commit["sha"])
|
||||
tree = self.get_json(f"/repos/{CASAOS_REPOSITORY}/git/trees/{revision}?recursive=1")
|
||||
if tree.get("truncated"):
|
||||
raise SourceError("GitHub devolvio truncado el arbol del catalogo CasaOS")
|
||||
raise SourceError("GitHub returned a truncated tree for the CasaOS catalogue")
|
||||
paths = sorted(
|
||||
str(item["path"])
|
||||
for item in tree.get("tree", [])
|
||||
@@ -168,7 +168,7 @@ class GitHubSource:
|
||||
and re.fullmatch(r"Apps/[^/]+/docker-compose\.yml", str(item.get("path", "")))
|
||||
)
|
||||
if not paths:
|
||||
raise SourceError("No se encontraron Compose en el catalogo CasaOS")
|
||||
raise SourceError("No Compose files were found in the CasaOS catalogue")
|
||||
return {
|
||||
"repository": CASAOS_REPOSITORY_URL,
|
||||
"revision": revision,
|
||||
|
||||
Reference in New Issue
Block a user