aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Cargo fmtAlexander Bantyev2021-06-222-7/+11
|
* Add multi node supportYannik Sander2021-06-224-137/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Use correct path to `deploy-rs-activate` binary when using `dry_activate`notgne22021-04-301-3/+5
| | | | Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
* Apply notgne2 suggestions.Oleg Pykhalov2021-04-162-5/+5
|
* Add dry activate argument.Oleg Pykhalov2021-04-074-50/+83
|
* Remove `ssh://` prefix from SSH addressesnotgne22021-02-281-1/+1
|
* Re-use `ssh_addr`notgne22021-02-281-3/+3
|
* Remove redundant `format!()`notgne22021-02-191-1/+1
|
* Clean up adding Command argumentsnotgne22021-02-093-25/+23
|
* Re-add debug log for activate command erroringnotgne22021-02-091-0/+1
|
* Clean up structure used for activation command error sendingnotgne22021-02-091-11/+9
|
* Still wait for activation command to end even in cases of errorsnotgne22021-02-091-43/+70
|
* Use oneshot signals to ensure SSH activate command has finished before ↵notgne22021-02-091-7/+14
| | | | deployment ends
* Wait for `ssh_activate` to complete and check for errors in magic_rollback ↵notgne22021-02-091-11/+20
| | | | activation (fixes #58 and #49)
* Merge branch 'master' into style-fixesnotgne22021-02-081-22/+62
|\
| * fixup! Evaluate deploy output lazilyAlexander Bantyev2021-02-071-50/+42
| |
| * Evaluate deploy output lazilyAlexander Bantyev2021-02-061-22/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we evaluate the `#deploy` output strictly. This means - Longer eval times - Extraneous evaluation errors with `--skip-checks` - `-- --impure` even when the path we're currently deploying is pure - etc. With this change, evaluation happens lazily -- we only evaluate the nodes and profiles we really need. It is only implemented for flaky Nix, and it is on by default. To get the old behavior, one can specify `--strict-eval`. I have tested that this indeed dramatically increases evaluation speed in all of our repos, and removes the need to deploy Agora with `--impure`. Hooray!
* | changed: remove 2015-style extern crateBernardo Meurer2021-01-266-23/+9
|/
* Merge branch 'master' into notgne2/cleanupnotgne22021-01-141-1/+1
|\
| * Raise wait timeoutnotgne22021-01-141-1/+1
| |
* | Only build wait command if magic_rollback is enablednotgne22021-01-141-10/+10
| |
* | Don't import PushProfileDatanotgne22021-01-081-2/+1
| |
* | Remove unused DeployPathToActivatePathErrornotgne22021-01-083-13/+0
| |
* | Remove `Error` postfixes from error variants variantsnotgne22021-01-081-18/+16
| |
* | Use type definition for ToDeploynotgne22021-01-081-53/+52
| |
* | Struct-ify arguments to push_profilenotgne22021-01-082-42/+62
| |
* | Struct-ify arguments to build_wait_commandnotgne22021-01-081-21/+23
| |
* | Struct-ify arguments to build_activate_commandnotgne22021-01-081-26/+28
| |
* | Fix trivial lint issuesnotgne22021-01-084-8/+7
| |
* | Restructure projectnotgne22021-01-086-52/+50
|/
* Merge branch 'notgne2/new-logger'notgne22021-01-084-86/+436
|\
| * Format logs differentlynotgne22021-01-011-3/+3
| |
| * Modify activation logic to keep SSH connection alive for magic-rollback and ↵notgne22020-12-304-84/+325
| | | | | | | | avoid forking or disconnecting std{out,err}
| * Make printed deployment information be info level instead of warnnotgne22020-12-271-1/+1
| |
| * Remove discriminant (they are already differenciated by binary name)notgne22020-12-271-1/+0
| |
| * Deduplicate level to emoji pattern into make_emoji()notgne22020-12-271-14/+12
| |
| * Fix log dir/file mismatchnotgne22020-12-272-3/+3
| |
| * Use error log macro more in activate.rsnotgne22020-12-271-7/+3
| |
| * Replace logger, add more logging options including filesnotgne22020-12-274-20/+136
| |
* | Merge branch 'master' into notgne2/fix-settings-mergenotgne22020-12-271-1/+1
|\|
| * Fix fast_connection flag to enable substitute-on-destination correctlynotgne22020-12-191-1/+1
| |
* | Fix the order in which settings are mergednotgne22020-12-221-2/+2
|/
* Simplify the types involved a littleAndreas Fuchs2020-12-151-4/+4
| | | | | The cursed match is still cursed, but at least we're not sending useless data across channels anymore.
* Use notify crate to learn about deletion of the activation sentinelAndreas Fuchs2020-12-151-33/+39
| | | | | We should now be able to deploy to non-Linux systems, and build all the required binaries too.
* Add SPDX-FileCopyrightText to the three files that I changed substantiallyAndreas Fuchs2020-12-022-0/+2
|
* Reinstate NoProfileUserAndreas Fuchs2020-12-021-0/+1
| | | | Seems to have been removed by mistake in the previous cleanup
* Clean up utils/mod.rsAlexander Bantyev2020-12-021-12/+0
| | | | | Now that we don't copy `activate` from the same directory as `current_exe`, we can skip the check that the `current_exe` is reachable and in nix store.
* Fail early if there is no activation script in profile pathAlexander Bantyev2020-12-021-0/+17
|
* Use DeployData's store path to build the activate-rs pathAndreas Fuchs2020-12-023-30/+4
| | | | This gets rid of yet more code, so - win!
* Don't copy the activate script (it's part of the closure anyway)Andreas Fuchs2020-12-021-1/+0
|