Commit Graph
27 Commits
Author SHA1 Message Date
Richie ae18feb0fd feat(zfs): manage jeeves datasets declaratively from nix
treefmt / nix fmt (pull_request) Successful in 6s
pytest / pytest (pull_request) Successful in 37s
build_systems / build-brain (pull_request) Successful in 57s
test ebook search / test-ebook-search (pull_request) Successful in 44s
build_systems / build-bob (pull_request) Successful in 58s
build_systems / build-rhapsody-in-green (pull_request) Successful in 1m11s
build_systems / build-jeeves (pull_request) Successful in 3m1s
Add a zfs_manager module that reconciles the live datasets on jeeves
against a nix declaration, and generate the snapshot retention config
from that same declaration so the two can no longer drift apart.

systems/jeeves/datasets.nix declares every dataset on the media, storage
and scratch pools, nested the way zfs nests them and flattened into
pool/parent/child names. Values were transcribed from the live pools
rather than from scripts/zfs.sh, which had gone stale: acltype reads back
as posix, and media/secure/important, scratch/kestra and storage/nomad
were never recorded. root_pool datasets are declared for retention only,
their properties stay unmanaged for now.

python.tools.zfs_manager creates missing datasets and corrects drifted
properties, and never destroys anything. Undeclared properties are judged
by the zfs source field, so inherited and default values stay quiet while
locally set ones warn. Size values are normalised to bytes so that 16K and
16384 do not re-issue zfs set on every run.

vars.nix now derives its paths from the declared mountpoints instead of
repeating them, dropping three zfs_* keys that nothing referenced.

Replaces systems/jeeves/snapshot_config.toml, which listed a dataset that
does not exist and omitted thirteen that do.
2026-07-27 23:26:44 -04:00
Richie 8c3de690c9 feat(ebook-search): set up uv cache management and pruning service
treefmt / nix fmt (pull_request) Successful in 5s
pytest / pytest (pull_request) Successful in 27s
test ebook search / test-ebook-search (pull_request) Successful in 34s
build_systems / build-brain (pull_request) Successful in 48s
build_systems / build-bob (pull_request) Successful in 50s
build_systems / build-rhapsody-in-green (pull_request) Successful in 1m3s
build_systems / build-jeeves (pull_request) Successful in 2m14s
treefmt / nix fmt (push) Successful in 4s
test ebook search / test-ebook-search (push) Successful in 27s
pytest / pytest (push) Successful in 30s
build_systems / build-brain (push) Successful in 34s
build_systems / build-bob (push) Successful in 37s
build_systems / build-jeeves (push) Successful in 2m9s
build_systems / build-rhapsody-in-green (push) Successful in 48s
2026-07-12 17:26:55 -04:00
Richie 374d7e8d38 setting up resource monitoring for bob and jeeves 2026-04-30 10:16:37 -04:00
Richie 73e221716f adding nornsight 2026-04-25 16:33:45 -04:00
Richie 8d1c1fc628 added mountpoint= to postgres zfs create 2026-03-30 14:07:08 -04:00
Richie dda318753b improving postgres wal 2026-03-30 14:07:08 -04:00
Richie f9a9e5395c added media/temp for fast dir when working with data 2026-03-29 15:54:54 -04:00
Richie 6299d42f75 moving all data sets to zfs encryption 2026-01-02 13:41:45 -05:00
Richie 0f8f6f96d6 moved scratch pool to zfs encryption 2025-12-26 21:26:25 -05:00
Richie 529b03525b added kafka and ollama data sets 2025-08-23 10:43:56 -04:00
Richie a5ccedbb5d shrank storage pool 2025-04-05 14:16:41 -04:00
Richie 4694d75a62 added scratch pool 2025-04-05 14:16:41 -04:00
Richie fa3f14785c removed torrenting pool 2025-04-05 14:16:41 -04:00
Richie f691015920 deleted photoprism.nix 2025-02-04 21:28:10 -05:00
Richie 7995d383ca added jellyfin.nix 2025-01-18 17:07:00 -05:00
Richie 0f788a1901 added share container 2025-01-07 22:48:50 -05:00
Richie 1e46071754 moved home_assistant dir 2024-12-03 10:37:22 -05:00
Richie 9403241342 testing build_systems.yml 2024-11-25 14:27:03 -05:00
Richie f887375c8d renamed datasets.sh to zfs.sh 2024-11-01 21:30:51 -04:00
Richie 88fd69ab9f added compression= to zpool create commands 2024-11-01 21:29:09 -04:00
Richie ac7bc3ee1b testing audiobookshelf 2024-10-14 18:33:02 -04:00
Richie 3351efa8a5 adding special drive to torrenting 2024-10-13 18:05:25 -04:00
Richie ee72ea2cee created storage/secrets 2024-10-10 21:55:49 -04:00
Richie 025ad362f2 removed duplicate -O xattr=sa 2024-10-06 12:28:19 -04:00
Richie 16b68b5ad3 adding photoprism 2024-10-03 20:22:41 -04:00
Richie 5558f041e8 added datasets.sh 2024-09-29 09:48:17 -04:00
Richie 1e5f5ab224 added scripts 2024-09-13 21:17:00 -04:00