server-up/tests
Ramon ae99df2fc7
Some checks failed
Deploy server-up (dev) / deploy (push) Failing after 6s
v0.5.20-beta - complete backups en updates per app
Backups (core/backups.py, core/scheduler.py):
- Terugzetten met een klik: stack stoppen, huidige map opzij, uitpakken,
  starten. Mislukt het uitpakken, dan wordt de oude situatie teruggeplaatst.
- Bewaarbeleid: aantal per stack en/of maximale leeftijd; de nieuwste backup
  van een stack blijft altijd staan.
- Geplande backups (dagelijks/wekelijks) via een eigen planner in de app, geen
  cron. Een gemiste ronde loopt bij de eerstvolgende gelegenheid alsnog.
- Automatisch een backup voor het bijwerken of verwijderen van een stack.
  Mislukt die, dan gaat de actie door - anders kun je een kapotte stack niet
  meer opruimen.
- Uitpakken met tarfile + filter="data": absolute paden en ..-ingangen worden
  geweigerd. Met een kaal `tar xzf` kon een geprepareerd archief buiten de
  stackmap schrijven.
- Twee bugs in de oude implementatie: de returncode van tar werd genegeerd
  (mislukte backup gold als succes) en backups binnen dezelfde seconde
  overschreven elkaar.

Updates per app (core/stackupdates.py, core/registry.py):
- Badge op de stackkaart als er een nieuwer image is; bijwerken doet de
  bestaande update-knop.
- Vergelijking via de Registry API v2 (Docker-Content-Digest) in plaats van
  `docker manifest inspect`: dat laatste geeft per platform een aparte digest
  terwijl RepoDigests de manifest-list-digest bevat, wat bij elk multi-arch
  image permanent "update beschikbaar" zou opleveren.
- Drie statussen: update / current / unknown. Lokaal gebouwd, nog niet gepulld
  of registry onbereikbaar geeft unknown en dus geen badge.
- Dagelijkse achtergrondcheck, resultaten 6 uur gecached.

Verder:
- docs/backups.md, met nadruk op wat er niet in een backup zit: de
  Docker-volumes met de eigenlijke appdata.
- Backup-instellingen onder Instellingen; backup-geschiedenis per stack.
- 197 tests groen (40 nieuwe).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C7oLCRYzY5ixJ5Sv8Y8EFb
2026-07-26 19:54:51 +02:00
..
conftest.py v0.5.00-beta - authenticatie + beveiligingsfixes 2026-07-26 14:40:05 +02:00
test_auth.py v0.5.00-beta - authenticatie + beveiligingsfixes 2026-07-26 14:40:05 +02:00
test_backups.py v0.5.20-beta - complete backups en updates per app 2026-07-26 19:54:51 +02:00
test_boilerplates.py v0.5.00-beta - authenticatie + beveiligingsfixes 2026-07-26 14:40:05 +02:00
test_compose_transform.py v0.5.00-beta - containerbeheer, eigen IP-adressen, veiliger installeren 2026-07-26 14:51:32 +02:00
test_i18n.py Vertalingen voor de nieuwe schermen + SSO-instelscherm 2026-07-26 19:43:30 +02:00
test_networks.py v0.5.00-beta - containerbeheer, eigen IP-adressen, veiliger installeren 2026-07-26 14:51:32 +02:00
test_paths.py v0.5.00-beta - authenticatie + beveiligingsfixes 2026-07-26 14:40:05 +02:00
test_repo_urls.py v0.5.00-beta - authenticatie + beveiligingsfixes 2026-07-26 14:40:05 +02:00
test_selfupdate.py v0.5.10-beta - update-systeem met kanalen en een-klik bijwerken 2026-07-26 15:13:18 +02:00
test_stack_api.py v0.5.00-beta - containerbeheer, eigen IP-adressen, veiliger installeren 2026-07-26 14:51:32 +02:00
test_stackupdates.py v0.5.20-beta - complete backups en updates per app 2026-07-26 19:54:51 +02:00
test_update_channels.py v0.5.10-beta - update-systeem met kanalen en een-klik bijwerken 2026-07-26 15:13:18 +02:00
test_updater.py v0.5.00-beta - authenticatie + beveiligingsfixes 2026-07-26 14:40:05 +02:00