summary refs log tree commit diff
path: root/nixos/modules/services/backup/syncoid.nix
Commit message (Collapse)AuthorAge
* nixos/doc: clean up defaults and examplesNaïm Favier2021-10-04
|
* nixos/syncoid: Delegate permissions to parent dataset if target is missingElis Hirwing2021-09-27
| | | | | | | | | | | | | | This is to address a regression introduced in #131118. When syncing the first dataset, syncoid expects that the target dataset doesn't exist to have a clean slate to work with. So during runtime we'll check if the target dataset does exist and if it doesn't - delegate the permissions to the parent dataset instead. But then, on unallow, we do the unallow on both the target and the parent since the target dataset should have been created at this point, so the unallow can't know which dataset that got permissions just by which datasets exists.
* nixos/syncoid: add global and per-dataset permissions optionsmisuzu2021-08-16
|
* nixos/syncoid: Drop ~[at]sync from the systemcallfilter to avoid coredumpsElis Hirwing2021-07-26
|
* nixos/syncoid: Reformat file with nixpkgs-fmtElis Hirwing2021-07-26
|
* nixos/syncoid: Build unallow commands as a post job to drop permissionsElis Hirwing2021-07-26
|
* nixos/syncoid: Extract datasets rather than poolsElis Hirwing2021-07-25
| | | | | | When sending or receiving datasets with the old implementation it wouldn't matter which dataset we were sending or receiving, we would always delegate permissions to the entire pool.
* nixos/syncoid: split in multiple systemd servicesJulien Moutinho2021-07-24
|
* nixos/syncoid: fix permissions without --no-sync-snapDaniel Fullmer2020-11-21
| | | | | | After 733acfa140d5b73bc69c53c4ebd90ccc5f281f0e, syncoid would fail to run if commonArgs did not include [ "--no-sync-snap" ], since it would not have permissions to create or destroy snapshots.
* Merge pull request #79759 from lopsided98/syncoid-no-rootBenjamin Hipple2020-10-25
|\ | | | | nixos/syncoid: automatically setup privilege delegation
| * nixos/syncoid: automatically setup privilege delegationBen Wolsieffer2020-03-09
| |
* | nixos/treewide: Fix incorrectly rendered examplesSilvan Mosberger2020-04-02
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | Many options define their example to be a Nix value without using literalExample. This sometimes gets rendered incorrectly in the manual, causing confusion like in https://github.com/NixOS/nixpkgs/issues/25516 This fixes it by using literalExample for such options. The list of option to fix was determined with this expression: let nixos = import ./nixos { configuration = {}; }; lib = import ./lib; valid = d: { # escapeNixIdentifier from https://github.com/NixOS/nixpkgs/pull/82461 set = lib.all (n: lib.strings.escapeNixIdentifier n == n) (lib.attrNames d) && lib.all (v: valid v) (lib.attrValues d); list = lib.all (v: valid v) d; }.${builtins.typeOf d} or true; optionList = lib.optionAttrSetToDocList nixos.options; in map (opt: { file = lib.elemAt opt.declarations 0; loc = lib.options.showOption opt.loc; }) (lib.filter (opt: if opt ? example then ! valid opt.example else false) optionList) which when evaluated will output all options that use a Nix identifier that would need escaping as an attribute name.
* nixos/sanoid, nixos/syncoid: init module and testBen Wolsieffer2020-02-10