Commit Graph
99 Commits
Author SHA1 Message Date
hygienic-books 9ce4de84d7 fix(script): Document pkg character replacement (#3) 2024-07-18 19:47:12 +02:00
hygienic-books 83e11af519 Merge remote-tracking branch 'origin/1-get-base-version-going' into 1-get-base-version-going 2024-07-18 19:33:20 +02:00
hygienic-books 136b1aa99a fix(script): Add .gitignore, keep out JetBrains files (#3) 2024-07-18 19:32:55 +02:00
hygienic-books 01180844e7 fix(script): Treat '@' and '+' in pkg names, ZFS doesn't like them (#3)
Replace at characters ('@') indiscriminately with one dot each ('.'),
replace plus characters ('+') with one underscore each ('_').
2024-07-18 19:31:54 +02:00
hygienic-books d606ae9688 refactor(docs): Layout (#1) 2023-12-26 06:15:01 +01:00
hygienic-books 2246823d06 refactor(docs): Typo (#1) 2023-12-26 06:14:04 +01:00
hygienic-books 3516f56580 refactor(docs): Explain counter suffix (#1) 2023-12-26 06:09:43 +01:00
hygienic-books 525600dde4 refactor(docs): Adjust explanation of how we avoid naming collisions (#1) 2023-12-26 05:59:49 +01:00
hygienic-books 650a91f2cc refactor(docs): Fix incorrect explanation how we identify snapshottable datasets (#1) 2023-12-26 05:59:12 +01:00
hygienic-books 917a71ced4 feat(script): Avoid snap name collisions, always append counter to make them unique (#1) 2023-12-26 05:58:34 +01:00
hygienic-books ff963aa844 refactor(script): Abort early and with clear msg when no datasets snapshottable (#1) 2023-12-26 05:58:07 +01:00
hygienic-books c23567e2b1 refactor(script): Space out error messages correctly (#1) 2023-12-26 05:57:22 +01:00
hygienic-books 562ffbdc0f refactor(script): Put ZFS property in a variable (#1) 2023-12-26 05:56:56 +01:00
hygienic-books 204a2a49b1 refactor(docs): Add warning about simple snapshot names (#1) 2023-12-26 00:44:35 +01:00
hygienic-books d027966ed3 refactor(docs): Phrasing (#1) 2023-12-26 00:43:42 +01:00
hygienic-books f16f2b8612 refactor(docs): Trim ZFS example snapshot list (#1) 2023-12-26 00:27:27 +01:00
hygienic-books 93380891ec Merge remote-tracking branch 'refs/remotes/origin/1-get-base-version-going' into 1-get-base-version-going 2023-12-26 00:20:01 +01:00
hygienic-books 8de0e25ab8 refactor(docs): Spell ZFS all uppercase (#1) 2023-12-26 00:09:42 +01:00
hygienic-books 4069c33145 feat(docs): Don't do duplicate snapshot names (#1) 2023-12-26 00:08:49 +01:00
hygienic-books 2fbbf4da19 refactor(docs): Add pkg list trimming (#1) 2023-12-25 22:30:37 +01:00
hygienic-books 47885efbab refactor(docs): Explain ZFS snapshot name max length (#1) 2023-12-25 22:30:16 +01:00
hygienic-books e3f6316c47 feat(docs): Explain pkg name trimming in snapshots (#1) 2023-12-25 22:12:15 +01:00
hygienic-books 7681bbde84 refactor(docs): We're doing 10 imp snapshots by default (#1) 2023-12-25 22:11:41 +01:00
hygienic-books 961649d252 refactor(docs): Explain new important pkgs regex (#1) 2023-12-25 21:52:20 +01:00
hygienic-books 360c726326 refactor(conf): Keep more important snapshots (#1)
On an example daily driver test machine 10
important snapshots allow for about one full
month of rollbacks. Sounds and feels reasonable.
2023-12-25 21:50:12 +01:00
hygienic-books 7d573627f5 refactor(conf): Add more important package names to default config (#1)
Users running ZFS may come in contact with the
archzfs repository. They may also want to try
linux-zen kernels. Add those to default config so
those users are covered.
2023-12-25 21:48:52 +01:00
hygienic-books 818082a0b3 refactor(script): Trim package name if it doesn't fit full-length (#1) 2023-12-25 21:45:54 +01:00
hygienic-books 04caca48a5 refactor(script): Add pkgs to snapshot name only when allowed by user (#1) 2023-12-25 21:45:05 +01:00
hygienic-books 7efb2e5821 fix(script): Check severity against actaual severity value (#1)
Instead of checking against hard-coded string 'imp'
2023-12-25 20:47:39 +01:00
hygienic-books c686f7645f refactor(conf): Keep 10 important snaps, up from 5 (#1)
On an average daiy driver machine having 10 snaps
would've allowed to roll back far enough into the
past to work around:
https://github.com/openzfs/zfs/issues/15526
2023-11-23 00:15:32 +01:00
hygienic-books 31f5655ff0 refactor(conf): Testing's showing that 25 trivial snapshots are more sensible than 15 (#1) 2023-05-06 20:08:10 +02:00
hygienic-books 3560b52f4c docs(script): Typo (#1) 2023-05-06 20:05:57 +02:00
hygienic-books c210adc485 refactor(conf): Testing's showing that 25 trivial snapshots are more sensible than 15 (#1) 2023-05-06 19:54:55 +02:00
hygienic-books f654c9d5f7 docs(script): User will want to remove pacman's stale db.lck after rollback (#1) 2023-05-06 19:53:27 +02:00
hygienic-books a32a4df6a6 docs(script): Expand on trivial and important packages distinction (#1) 2023-05-06 19:52:53 +02:00
hygienic-books 45df9755f1 docs(script): Expand on dataset selection mechanism (#1) 2023-05-06 19:52:16 +02:00
hygienic-books 8cfedf6e11 docs(script): Our hooks go first before kernel and modules are touched (#1) 2023-05-06 19:51:29 +02:00
hygienic-books b8b3ad550d feat(script): Write snapshot time in a user-configurable time zone (#1) 2023-05-06 19:49:35 +02:00
hygienic-books d9b1ae5905 refactor(script): List snapshots (#1) 2023-03-15 22:38:05 +01:00
hygienic-books ba8b561e80 refactor(script): Indent snapshot names (#1) 2023-03-15 22:37:26 +01:00
hygienic-books 70284671ed refactor(script): Trim whitespace (#1) 2023-03-15 22:23:44 +01:00
hygienic-books bba8160d84 fix(script): Do snapshots atomically (#1) 2023-03-15 22:23:15 +01:00
hygienic-books 0b9c00c26b fix(script): When done zfs-destroying datasets return 0 (#1) 2023-03-15 22:07:44 +01:00
hygienic-books d3b3e72fe0 docs(conf): Explain date formatting example (#1) 2023-03-07 01:47:45 +01:00
hygienic-books 42cb32ea83 docs(script): Expand ZFS output example (#1) 2023-03-07 01:43:35 +01:00
hygienic-books c6bd627b4a docs(script): Give a ZFS output example (#1) 2023-03-07 01:35:26 +01:00
hygienic-books df8764c739 docs(conf): Explain dry run behavior correctly (#1) 2023-03-07 01:12:48 +01:00
hygienic-books 47bb8cbd30 docs(conf): Add comment per setting (#1) 2023-03-07 01:10:38 +01:00
hygienic-books 9e8772fad5 refactor(hook): Generalize hook name (#1) 2023-03-07 01:10:06 +01:00
hygienic-books 2e0bb42372 fix(script): Output snapshots list with trailing line break so that 'wc -l' can better count them (#1) 2023-03-07 01:09:36 +01:00
hygienic-books 12283e49c2 refactor(script): On ZFS operations catch and use return code (#1) 2023-03-07 01:08:55 +01:00
hygienic-books c899d26134 fix(script): Use correct operation suffix in snapshot name (#1) 2023-03-07 01:08:20 +01:00
hygienic-books 7fc828fb14 fix(conf): Get default vars consistent with config file (#1) 2023-03-07 01:07:39 +01:00
hygienic-books 7a494cb65a fix(script): Correctly assign default values if unset or empty (#1) 2023-03-07 01:02:43 +01:00
hygienic-books 2fadc427c5 refactor(script): Define color codes just once (#1) 2023-03-07 01:01:55 +01:00
hygienic-books ce93c8558e refactor(script): Get variables first then define an operation suffix (#1) 2023-03-07 01:01:20 +01:00
hygienic-books 4553bee760 fix(script): Run while loop through different file descriptor for easier trap-debugging (#1) 2023-03-07 00:05:47 +01:00
hygienic-books 39490c3d7a refactor(hook): Allow pkg list of up to 30 chars length (#1) 2023-03-07 00:04:34 +01:00
hygienic-books 776480a9a3 refactor(script): Reuse the same pkg name separator in a var (#1) 2023-03-07 00:04:00 +01:00
hygienic-books c9fcdb5b29 refactor(script): Differentiate between user-defined and internal vars (#1) 2023-03-07 00:03:01 +01:00
hygienic-books 3277e7a31a docs(script): pkg name regex is encapsulated in parentheses (#1) 2023-03-07 00:01:45 +01:00
hygienic-books 9a92e99c6a docs(hook): We use multiple hook files (#1) 2023-03-07 00:00:18 +01:00
hygienic-books ed15631ad2 fix(script): Fix var reference (#1) 2023-03-06 03:15:48 +01:00
hygienic-books 85a7fb66be fix(script): Fix var reference (#1) 2023-03-06 03:10:01 +01:00
hygienic-books 41c30d5971 fix(script): Don't reinitialize max_dataset_name_length (#1) 2023-03-06 03:06:19 +01:00
hygienic-books 9437dea225 fix(script): Fix date format (#1) 2023-03-06 03:02:02 +01:00
hygienic-books 35f572fe97 fix(script): fix if clause (#1) 2023-03-06 02:55:21 +01:00
hygienic-books 70145d5897 feat(script): Add dry-run functionality (#1) 2023-03-06 02:47:11 +01:00
hygienic-books 05a9f22b01 feat(script): Implement retention for old snapshots (#1) 2023-03-06 02:40:16 +01:00
hygienic-books f5956063a9 feat(script): Identify snaps in current chain (#1) 2023-03-06 02:39:51 +01:00
hygienic-books 12207a1376 feat(script): Add successful snapshot datasets to array (#1) 2023-03-06 02:39:21 +01:00
hygienic-books 2a256272d8 fix(conf): Use vars for severity names (#1) 2023-03-06 02:38:39 +01:00
hygienic-books ba2c7040a8 fix(conf): Keep 15 trivial snapshots (#1) 2023-03-06 02:38:17 +01:00
hygienic-books 6f92693c0f feat(script): Do snapshots and talk about it (#1) 2023-03-06 02:15:52 +01:00
hygienic-books aa60a863d8 refactor(script): Reuse date_string instead of regenerating it (#1) 2023-03-06 02:15:28 +01:00
hygienic-books 0222cc9649 refactor(script): Name normal msgs "info" (#1) 2023-03-06 02:14:47 +01:00
hygienic-books e7c913c4db feat(script): Limit length of package name list (#1) 2023-03-06 02:07:54 +01:00
hygienic-books 7747e9bdc3 feat(script): Print warning and exit gracefully if snapshot name would be too long (#1) 2023-03-06 02:04:37 +01:00
hygienic-books f8592c215a feat(script): Add colored print (#1) 2023-03-06 02:03:54 +01:00
hygienic-books f5bb694768 feat(conf): Find how long a dataset name will be (#1) 2023-03-06 01:24:13 +01:00
hygienic-books 8e8be69f12 feat(conf): Make snapshot name components configurable (#1) 2023-03-06 01:21:56 +01:00
hygienic-books 60b3a92abb feat(script): Allow snapping only local datasets (#1) 2023-03-06 00:57:02 +01:00
hygienic-books 673fb15b46 refactor(script): Explain pacman-zfs-snapshot.conf last (#1) 2023-03-06 00:40:08 +01:00
hygienic-books 36cd7ea16d feat(script): Introduce dry-run option (#1) 2023-03-06 00:39:18 +01:00
hygienic-books 8fbf16bda0 docs(script): Explain space.quico:auto-snapshot ZFS property (#1) 2023-03-06 00:36:20 +01:00
hygienic-books 7427d8477f feat(script): List all snappable datasets (#1) 2023-03-06 00:32:58 +01:00
hygienic-books 8dca85c98f refactor(script): Local instead of global var (#1) 2023-03-06 00:16:00 +01:00
hygienic-books b1249d6a40 feat(script): Generate list of affected pkgs on one line (#1) 2023-03-06 00:15:23 +01:00
hygienic-books 188e3481af feat(script): Define severity based on affected pkgs (#1) 2023-03-06 00:14:47 +01:00
hygienic-books b128b5f2ae feat(script): Catch install, remove, upgrade operation type from pacman (#1) 2023-03-06 00:14:09 +01:00
hygienic-books 740f4bd36a feat(conf): Limit snapshot name length (#1) 2023-03-06 00:13:33 +01:00
hygienic-books 6a666c5c8e refactor(script): Don't use zfs-auto-snapshot, but add jq (#1) 2023-03-06 00:12:50 +01:00
hygienic-books 1e56f28dc8 feat(hook): Use separate hook per transaction type (#1) 2023-03-05 22:19:12 +01:00
hygienic-books 0e9290a727 docs(script): Trailing dot (#1) 2023-03-05 22:18:12 +01:00
hygienic-books ae42f40f46 refactor(script): For symlinks you're going to need sudo (#1) 2023-03-05 22:17:53 +01:00
hygienic-books 52bc1ba132 refactor(script): Opposite of important is trivial (#1) 2023-03-05 22:17:21 +01:00
hygienic-books 136ec7875e docs(conf): Add a note to ourselves for final defaults (#1) 2023-03-05 22:16:29 +01:00
hygienic-books 1113a32888 feat(hook): Use separate hook per transaction type (#1) 2023-03-05 22:15:55 +01:00
hygienic-books f7f6d71250 feat(meta): Initial commit (#1) 2023-03-05 08:15:16 +01:00