aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [#201] Deduce profile directory during activationRoman Melnikov2023-09-121-19/+19
| | | | | | | | | | | | | | | | | | | | Problem: Since https://github.com/NixOS/nix/pull/5226 nix profiles for users are stored in 'XDG_STATE_HOME' or 'HOME' directory. However, 'deploy-rs' still expects profiles to be present in '/nix/var/nix/profiles/per-user'. As a result, an attempt to deploy a profile with newer nix may fail with an error about non-existing files. Solution: Instead of deducing the profile path prior to ssh'ing and actual activation, deduce the path to the profile during as a part of 'activate-rs' invocation. Now if the profile path is not specified explicitly as an attribute in profile within the deploy flake, the path to the profile is determined based on the user to which the profile belongs and on the values of 'XDG_STATE_HOME' and 'HOME' variables. Additionally, if the old profile directory (in '/nix/var/nix/profiles/per-user') for a given user already exists, it is used instead for the sake of backward compatibility.
* actually merge confirm_timeout into merged_settingsArtemis Everfree2023-06-081-1/+4
|
* [Chore] Handle 'temp_path' as an actual 'Path' instead of 'String'Roman Melnikov2023-04-201-3/+5
| | | | | | | | | | | | | Problem: 'temp_path' and 'lock_path' are handled as 'String'. This can be a problem when the 'temp_path' directory is a symlink on the target system, e.g. this is the case with the default '/tmp' and macOS, where this directory is actually a symlink to '/private/tmp'. Solution: Handle 'temp_path' and 'lock_path' as actual Paths. Also, canonicalize 'temp_path' to avoid canary file path mismatches when checking filesystem events. As a side effect, also update the 'notify' dependency to the latest stable version.
* Add option to build on the remote hostPhilipp Herzog2022-11-181-4/+9
|
* Add custom sudo command supportAndrew Fontaine2022-01-281-1/+9
| | | | This is useful for nodes that utilize `doas` instead of `sudo`.
* General code cleanupnotgne22021-08-121-3/+3
|
* export cli run in libTimothy DeHerrera2021-07-141-0/+1
|
* Add multi node supportYannik Sander2021-06-221-27/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run multiple deployments in sequence Resolve targets later Extend context by deployed flake Apply clippy suggestions Add revoke command builder Track succeeded deploys Add revoke function Register revoke error as deploy error Prepare revoke command in activate Extend logger to handle revoke Implement revoke command client side Run revoke on previously suceeded Control whether to override by flag Adhere profile configuration auto_rollback setting Cargo fmt Correctly provide profile path to activation script when revoking Document multi flake mode in README Resolve a typo in README.md Co-authored-by: notgne2 <gen2@gen2.space> Use existing teminology rename revoke_suceeded -> rollback_suceeded Use more open CLI argument name `targets` instead of `flakes` Document name changes in README Add sudo command support for revokes Call run_deploy with `dry_active` flag Test revoke commands contains sudo Set default temp_path in activate binary Require temp_path for wait and activate subcommands Add copyright comment Address review change requests Fix typo in README Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>
* Add dry activate argument.Oleg Pykhalov2021-04-071-0/+1
|
* changed: remove 2015-style extern crateBernardo Meurer2021-01-261-6/+0
|
* Remove unused DeployPathToActivatePathErrornotgne22021-01-081-8/+0
|
* Fix trivial lint issuesnotgne22021-01-081-1/+1
|
* Restructure projectnotgne22021-01-081-0/+424