Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
144c84e
update deps
galeone Aug 4, 2026
05b4d3a
basic zfs snapshot + send to file
galeone Aug 6, 2026
abfeff1
cargo fmt
galeone Aug 6, 2026
ea400d4
ci: github actions update
galeone Aug 6, 2026
04d2f4e
version bump
galeone Aug 6, 2026
b13292b
ci: fix package name
galeone Aug 6, 2026
116b1e6
clippy
galeone Aug 6, 2026
353c34f
zfs support
galeone Aug 6, 2026
bdd6fc3
zfs commands: fix args
galeone Aug 6, 2026
5c04043
update
galeone Aug 7, 2026
d04f1aa
logs
galeone Aug 7, 2026
741798c
better handling of failed commands
galeone Aug 7, 2026
7913092
correct dump (fixed filename) - automatically dropped via Drop
galeone Aug 7, 2026
e07f54b
use streaming instead of loading file to memory
galeone Aug 7, 2026
8ca4911
misc: systemdfile env var + working directory clarification
galeone Aug 7, 2026
54e3488
remotes: use files, do not compress in memory
galeone Aug 8, 2026
c337553
aws multipart upload + copyright update
galeone Aug 8, 2026
af62245
fmt
galeone Aug 8, 2026
a6a16bf
upload logging
galeone Aug 8, 2026
edc0daa
better logging
galeone Aug 8, 2026
3783318
has_enough_space when creating archives
galeone Aug 9, 2026
87a26e2
folder size
galeone Aug 9, 2026
9f142a8
tests
galeone Aug 9, 2026
b3eded6
fmt
galeone Aug 9, 2026
f00b1cd
ssh remote: fix file size, stream uploads, fix cat/ssh pipe and quote…
galeone Oct 4, 2026
9282db2
gitignore: ignore .DS_Store and swap files
galeone Oct 4, 2026
60f0ef7
update dependencies to latest compatible versions
galeone Oct 4, 2026
2f1b4ee
update croner, astral-tokio-tar and sysinfo to major versions
galeone Oct 4, 2026
1751742
fix review issues: zfs snapshot cleanup and permission check, propagate
galeone Oct 4, 2026
0f536a3
fix clippy and build warnings
galeone Oct 4, 2026
40c799b
readme: document zfs permissions and snapshot cleanup
galeone Oct 4, 2026
f440cc6
Integrate ZFS full + incremental snapshot design
galeone Oct 4, 2026
131be8f
ZFS full_when accepts the 'when' format; enforce keep_last restorabil…
galeone Oct 4, 2026
1e80413
Restore the license header in zfs.rs
galeone Oct 4, 2026
69b3160
Document how to install a branch locally (cargo install --path .)
galeone Oct 4, 2026
3fec877
Fix bug-hunt findings: pg_dump status, ssh quoting, aws pagination, g…
galeone Oct 4, 2026
56157c6
Fix clippy lints in the git pull-failure re-copy block (unused mut, b…
galeone Oct 4, 2026
17c8d90
fiz zfs required permissions
galeone Oct 4, 2026
b984070
Suppress the zfs get header when querying compression (-H)
galeone Oct 4, 2026
a631331
Make the zfs compression nudge depend on the backup's compress flag
galeone Oct 4, 2026
09e12ff
Drop the legacy snapshot format
galeone Oct 5, 2026
ca34f22
Track Cargo.lock
galeone Oct 5, 2026
c54d8d7
remove dead code - Drop removes the files, nothing manual
galeone Oct 5, 2026
e838d18
Fix bug-hunt findings: aws stream put_object, openssh encrypted-key d…
galeone Oct 5, 2026
0372a1f
Fix panic sweep: #2.1 signal-killed status panics, #2.4 bin construct…
galeone Oct 5, 2026
7ec641c
Ignore BUGS.md (local notes)
galeone Oct 5, 2026
c29adb9
Reject unknown config keys and make zfs full/incremental selection vi…
galeone Oct 6, 2026
5f170d3
fmt + clippy
galeone Oct 6, 2026
c33d8a8
Prune zfs dumps by age, not by name, in keep_last
galeone Oct 6, 2026
6f333cf
zfs: take the incremental base from the root dataset, dry-run the sen…
galeone Oct 6, 2026
1917e64
zfs: handle failed uploads and destroy old chain on new full
galeone Oct 7, 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
42 changes: 14 additions & 28 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
uses: actions/checkout@v7

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1.17

- name: Run cargo check
uses: actions-rs/cargo@v1
uses: clechasseur/rs-cargo@v5.0.6
with:
command: check

Expand All @@ -27,18 +23,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
uses: actions/checkout@v7

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1.17

- name: Run cargo test
uses: actions-rs/cargo@v1
continue-on-error: true
uses: clechasseur/rs-cargo@v5.0.6
with:
command: test

Expand All @@ -47,24 +38,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
uses: actions/checkout@v7

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1.17

- name: Run cargo fmt
uses: actions-rs/cargo@v1
uses: clechasseur/rs-cargo@v5.0.6
with:
command: fmt
args: --all -- --check

- name: Run cargo clippy
uses: actions-rs/cargo@v1
uses: clechasseur/rs-cargo@v5.0.6
with:
command: clippy
args: -- -D warnings
args: -- -D warnings
13 changes: 9 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,20 @@
# will have compiled files and executables
/target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk

# Local configuration file used during development
config.toml

# Local bug-tracking notes
BUGS.md

# IDE stuff
.vscode/

# macOS
.DS_Store

# Editor swap files
*.swp
Loading
Loading