Backup Listing #631

Merged
tobru merged 15 commits from feat/backup-visibility into main 2026-08-20 13:51:33 +00:00
Owner

Closes #544

Closes #544
tobru force-pushed feat/backup-visibility from bd1883957d
All checks were successful
Tests / test (push) Successful in 1m13s
to c2aed68450
All checks were successful
Tests / test (push) Successful in 1m17s
2026-08-20 06:47:45 +00:00
Compare
On Servala, Codey is a plain VSHNForgejo rather than the codey.io
CodeyInstance composite. That distinction matters: CodeyInstance exposes
no backup section at all, while VSHNForgejo carries a full K8upBackupSpec
at spec.parameters.backup. Its retention is an object, so the path
reaches a level deeper than PostgreSQL's, at retention.keepDaily.

Forgejo is backed up by K8up into snapshots.k8up.io in the instance
namespace, and stores everything on one PVC with SQLite, so a single
source with no dependent database covers it.

Also removes the "No backup schedule configured" empty state. It
asserted something the portal cannot know: AppCat randomises schedules
and does not always write the value back onto the claim, so an instance
can carry a retention and no schedule while backing up nightly. Facts
are now shown when known and omitted when not.

Adds the get_nested empty-path test, bringing core/utils/data.py to full
coverage.

Refs #544

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The summary card was three unlabelled lines, so "Kept for 6 days" had to
be guessed at and the status badge sat awkwardly inline with a timestamp.
Each fact now carries a label, using the same info-item pattern as the
Zone Documentation card directly below it so the two read as one system,
and the most important fact - when the last backup ran - comes first. A
backup count is added, since "how many do I have" is the obvious next
question after "did one run".

Backup timestamps no longer wrap onto two lines: their columns were
capped at 150px, which is narrower than the rendered date.

Refs #544

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fix: make the row-2 columns actually share a height
All checks were successful
Tests / test (push) Successful in 1m23s
ea7e6a5b38
The stacked Backup Summary and Zone Documentation cards could never
match the Service Configuration card, because Mazer gives every .card a
2.2rem bottom margin: the Service Configuration card was h-100, so its
height plus that margin always exceeded the column the left stack fills.

Both columns are now flex columns whose last card grows into the leftover
space with the margin dropped, so the row's stretch alignment lines them
up. With no Zone Documentation to show, the Backup Summary card takes
over the growing role, keeping the previous full-height behaviour.

Refs #544

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
tobru changed title from WIP: Backup Listing to Backup Listing 2026-08-20 13:51:20 +00:00
tobru merged commit 63f9191394 into main 2026-08-20 13:51:33 +00:00
tobru deleted branch feat/backup-visibility 2026-08-20 13:51:33 +00:00
Sign in to join this conversation.
No description provided.