Repository navigation
WolfStack v25.16.0
v25.16.0: weekly/monthly backups pick their run day, and "back up everything" stops discarding cold-backup ticks
Three reports from Discord.
Ticking "stop container for cold backup" and saving a schedule lost the tick
(JJ). Not a display bug: selecting every item on the Backups page auto-enables
"back up everything", which posts targets: [], so every per-target
stop_for_backup flag was thrown away — and the nightly run resolved its targets
live with the flag defaulting false, so the cold backup never happened at all.
Schedules now carry a schedule-level stop_containers flag that backup_all()
applies to each Docker/LXC target, the per-container ticks grey out with an
explanation while "everything" is on, and a tick made on the page carries into
the new flag instead of being dropped.
Weekly and monthly schedules offered a time but no day (JJ). They now take a
weekday (Mon-Sun) or a day of the month (1st-31st, clamped to the month's last
day so the 31st backs up on 28/29 February rather than skipping the month), in
both the schedule modal and the Cluster Backups page, and the Schedules table
shows it — "weekly (Wed)", "monthly (15th)". Schedules saved before this keep
their exact previous behaviour; pinning also stops the old drift where a run
starting a minute late pushed the next one a day later, every week.
On a bastion managing two clusters, Docker image-update settings could only ever
be read, saved and pushed for the UI host's own cluster (RutgerDiehard):
selectView() clears the page scope, so every Settings page talks to the local
node. Settings -> Alerts -> Docker Updates now has a "Settings for" picker
listing nodes grouped by cluster, and load/save/"Push to all nodes" all route to
the chosen node so the fan-out lands in its cluster. The "disabled on this node"
notice and the Docker-page links carry the node they were shown on, and a failed
read from a remote node says so instead of leaving the previous node's values on
screen.
Co-Authored-By: CodeWolf paul@wolf.uk.com
Co-Authored-By: Wolf Software Systems Ltd paul@wolf.uk.com
Verifying this release
Each binary is signed via cosign keyless OIDC (no key distribution — signing identity is the GitHub Actions workflow itself, anchored to the Sigstore Fulcio CA and the Rekor transparency log) and ships with a SLSA build provenance attestation.
Verify the cosign signature:
cosign verify-blob \
--bundle wolfstack-x86_64.cosign.bundle \
--certificate-identity-regexp 'https://github.com/wolfsoftwaresystemsltd/WolfStack/\.github/workflows/release\.yml@.*' \
--certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
wolfstack-x86_64
Verify the build provenance:
gh attestation verify wolfstack-x86_64 --repo wolfsoftwaresystemsltd/WolfStack
Verify the SHA-256 checksum:
sha256sum -c SHA256SUMS
Artifacts
wolfstack-x86_64/wolfstack-aarch64/wolfstack-armv7— static musl binaries (Linux x86_64, ARM64 / Raspberry Pi 4+, and 32-bit ARM).wolfstack-<arch>.cosign.bundle— cosign signature bundle (cert + signature + Rekor entry).SHA256SUMS— checksums for both binaries.
For per-version history see CHANGELOG.md.