aboutsummaryrefslogtreecommitdiff
path: root/src/cli.rs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [Chore] Make activation wait timeout configurableRoman Melnikov2023-11-021-0/+4
| | | | | | | | | | | | | | Problem: Currently profile activation waiting timeout is hardcoded to 240 seconds, see https://github.com/serokell/deploy-rs/pull/48. In some cases, this timeout can be exceeded (e.g. activation performs a heavy DB migration and waits for it to finish before considering the profile activation succesful). Solution: Make this timeout configurable via 'activationTimeout' deploy attribute or corresponding '--activation-timeout' CLI option. For the sake of backward compatibility, the new 'wait' subcommand '--activation-timeout' option is made optional and defaults to 240 seconds if it wasn't provided.
* [Chore] fix error messages claiming to have rolled back when not actually ↵Philipp Herzog2023-11-021-2/+3
| | | | | | doing so closes: #241
* [Chore] Handle 'temp_path' as an actual 'Path' instead of 'String'Roman Melnikov2023-04-201-1/+2
| | | | | | | | | | | | | 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.
* Build every profile first, then push (#158)2xsaiko2022-12-291-12/+21
| | | | | Try to build everything first before pushing to remotes. Since the build is more likely to fail than the upload, if there is an error the deployment will fail sooner and before uploading any potentially unusable configuration.
* Merge pull request #176 from Ma27/activate-bootAlexander Bantyev2022-12-291-1/+10
|\ | | | | Add new activation strategy `boot` as equivalent to `nixos-rebuild boot`
| * Add new activation strategy `boot` as equivalent to `nixos-rebuild boot`Maximilian Bosch2022-10-091-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can be useful when e.g. deploying a kernel update to a target host. You usually plan a reboot (or kexec) after that to activate the new kernel. However you don't want to wait for services to be restarted first since these will be "restarted" anyways on the reboot. In cases like GitLab or the Atlassian stack this actually makes a difference. This patch changes the following things: * If `--boot` is provided, `nix-env -p profile-to-activate --set` is called for each deployed profile to make sure that it is activated automatically after a reboot. * However, the actual activation (e.g. `switch-to-configuration switch`) is skipped. Instead: * For NixOS, `switch-to-configuration boot` is called to set the new profile as default in the bootloader. * For everything else, nothing else is done. The profile is already the new default (and thus picked up on the next boot).
* | Add option to build on the remote hostPhilipp Herzog2022-11-181-6/+7
| |
* | Introduce non-zero exit code for rollbacksPhilipp Herzog2022-11-111-1/+3
|/ | | | Closes #179
* Add custom sudo command supportAndrew Fontaine2022-01-281-0/+4
| | | | This is useful for nodes that utilize `doas` instead of `sudo`.
* General code cleanupnotgne22021-08-121-26/+21
|
* fix ambiguous crate refTimothy DeHerrera2021-07-291-1/+1
|
* optionally take args as inputTimothy DeHerrera2021-07-291-3/+6
|
* make cli opts publicTimothy DeHerrera2021-07-291-1/+1
|
* export cli run in libTimothy DeHerrera2021-07-141-0/+673