Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
748d061
chore(backup): scaffold nexus-backup crate
kleopasevan Apr 29, 2026
b0778bc
feat(backup): add BackupError
kleopasevan Apr 29, 2026
9516b04
feat(backup): XChaCha20-Poly1305 convergent encryption
kleopasevan Apr 29, 2026
080ebb9
feat(backup): FastCDC chunker over AsyncRead
kleopasevan Apr 29, 2026
5082361
feat(backup): Manifest + ChunkRef serialization (bincode+zstd)
kleopasevan Apr 29, 2026
0cc02e0
chore(backup): cargo fmt nexus-backup
kleopasevan Apr 29, 2026
aa4ba35
feat(backup): add HostBackend::read_snapshot trait method (impls follow)
kleopasevan Apr 29, 2026
fc368a3
feat(backup): LocalFileHostBackend::read_snapshot opens snapshot file
kleopasevan Apr 29, 2026
ab23f68
feat(backup): IscsiHostBackend::read_snapshot via iscsiadm login
kleopasevan Apr 29, 2026
151f949
chore: cargo fmt - wrap long import lines in storage backends
kleopasevan Apr 29, 2026
5a5810e
feat(backup): migration 0036 — backup_target, backup, backup_gc_run
kleopasevan Apr 29, 2026
280842e
feat(backup): wire types BackupTarget, Backup, BackupSchedule
kleopasevan Apr 29, 2026
f3616c7
chore(backup): add aws-sdk-s3, cron, nexus-backup deps to manager + a…
kleopasevan Apr 29, 2026
ce7f7c7
feat(backup): envelope wrap/unwrap for target secrets
kleopasevan Apr 29, 2026
0f9555d
feat(backup): backup_targets repo + CRUD routes
kleopasevan Apr 29, 2026
7b490af
feat(backup): manager agent_rpc helpers + RPC types
kleopasevan Apr 29, 2026
1c0d364
feat(backup): agent S3 client wrapper (head/put/get)
kleopasevan Apr 29, 2026
6aa566b
feat(backup): agent backup + restore pipeline + HTTP routes
kleopasevan Apr 29, 2026
fcffebc
chore: cargo fmt + lock update after B.T15
kleopasevan Apr 29, 2026
e4abe6d
feat(backup): BackupRepository for DB access
kleopasevan Apr 29, 2026
9b9122b
feat(backup): manager backup service (create + restore + retention)
kleopasevan Apr 29, 2026
7cfb3b6
feat(backup): /v1/backups CRUD + /v1/volumes/:id/backup endpoints
kleopasevan Apr 29, 2026
b4de2a4
feat(backup): daily mark-and-sweep GC per target
kleopasevan Apr 29, 2026
c72d782
feat(backup): reconciler ages stuck 'running' rows after 24h
kleopasevan Apr 29, 2026
0ba23c8
feat(backup): per-volume cron scheduler
kleopasevan Apr 29, 2026
ef1ff5d
feat(backup): PATCH /v1/volumes/:id/backup_schedule
kleopasevan Apr 29, 2026
6199f61
feat(backup): index-rebuild subcommand for DR
kleopasevan Apr 29, 2026
7347a19
feat(backup): UI types + facade methods + query hooks
kleopasevan Apr 29, 2026
778e81e
feat(backup): UI components — target form, list, restore, schedule, page
kleopasevan Apr 29, 2026
40ebe38
chore(backup): cargo fmt sweep
kleopasevan Apr 29, 2026
71bdfd8
fix(backup): DELETE /v1/backups/:id removes manifest from S3 before D…
kleopasevan Apr 29, 2026
7a8a1f5
fix(backup): restore_backup returns DB row id, not backend-provisione…
kleopasevan Apr 29, 2026
75dafd7
fix(backup): GC loop wakes per-minute and dedupes per-target per-day …
kleopasevan Apr 29, 2026
5163321
fix(backup): per-chunk S3 retry with exponential backoff (I2)
kleopasevan Apr 29, 2026
39b9af9
fix(backup): scheduler skips volumes with active running backups (I4)
kleopasevan Apr 29, 2026
c67f93e
fix(backup): IscsiSnapshotReader logs out iSCSI session on drop (M1)
kleopasevan Apr 29, 2026
8148f52
chore(ci): ignore additional advisories from aws-sdk transitive deps
kleopasevan Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -274,13 +274,26 @@ jobs:
run: cargo install cargo-audit

- name: Run security audit
# Ignored advisories — all pre-existing on main, not caused by this PR:
# Ignored advisories — all transitive deps, not caused by our code:
# - RUSTSEC-2026-0097 (rand 0.9.x unsoundness): only triggers with a
# custom logger calling rand::rng(). NQRust-MicroVM does not. Via
# quinn-proto (reqwest HTTP/3) and mockito (test-only).
# - RUSTSEC-2026-0002 (lru 0.12.x IterMut Stacked Borrows): transitive
# via ratatui in the installer TUI; ratatui has not yet bumped lru.
run: cargo audit --ignore RUSTSEC-2026-0097 --ignore RUSTSEC-2026-0002
# - RUSTSEC-2026-0098/0099/0104 (rustls-webpki 0.101.x): transitive via
# aws-sdk-s3 → aws-smithy-http-client → rustls 0.21. We already use
# rustls-webpki 0.103.13 in the rest of the stack; the AWS SDK pins
# the old version and will upgrade in a future release.
# - RUSTSEC-2025-0141 (bincode unmaintained): bincode is functionally
# stable; migration to postcard/ciborium is a follow-up.
run: |
cargo audit \
--ignore RUSTSEC-2026-0097 \
--ignore RUSTSEC-2026-0002 \
--ignore RUSTSEC-2026-0098 \
--ignore RUSTSEC-2026-0099 \
--ignore RUSTSEC-2026-0104 \
--ignore RUSTSEC-2025-0141

check-installer-syntax:
name: Check Installer Syntax
Expand Down
Loading
Loading