aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-07-02Evaluate only once, and then only realiseAlexander Bantyev1-9/+47
2021-06-22Cargo fmtAlexander Bantyev2-7/+11
2021-06-22Add multi node supportYannik Sander4-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>
2021-04-30Use correct path to `deploy-rs-activate` binary when using `dry_activate`notgne21-3/+5
Signed-off-by: Oleg Pykhalov <go.wigust@gmail.com>
2021-04-16Apply notgne2 suggestions.Oleg Pykhalov2-5/+5
2021-04-07Add dry activate argument.Oleg Pykhalov4-50/+83
2021-02-28Remove `ssh://` prefix from SSH addressesnotgne21-1/+1
2021-02-28Re-use `ssh_addr`notgne21-3/+3
2021-02-19Remove redundant `format!()`notgne21-1/+1
2021-02-09Clean up adding Command argumentsnotgne23-25/+23
2021-02-09Re-add debug log for activate command erroringnotgne21-0/+1
2021-02-09Clean up structure used for activation command error sendingnotgne21-11/+9
2021-02-09Still wait for activation command to end even in cases of errorsnotgne21-43/+70
2021-02-09Use oneshot signals to ensure SSH activate command has finished before ↵notgne21-7/+14
deployment ends
2021-02-09Wait for `ssh_activate` to complete and check for errors in magic_rollback ↵notgne21-11/+20
activation (fixes #58 and #49)
2021-02-07fixup! Evaluate deploy output lazilyAlexander Bantyev1-50/+42
2021-02-06Evaluate deploy output lazilyAlexander Bantyev1-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!
2021-01-26changed: remove 2015-style extern crateBernardo Meurer6-23/+9
2021-01-14Raise wait timeoutnotgne21-1/+1
2021-01-14Only build wait command if magic_rollback is enablednotgne21-10/+10
2021-01-08Don't import PushProfileDatanotgne21-2/+1
2021-01-08Remove unused DeployPathToActivatePathErrornotgne23-13/+0
2021-01-08Remove `Error` postfixes from error variants variantsnotgne21-18/+16
2021-01-08Use type definition for ToDeploynotgne21-53/+52
2021-01-08Struct-ify arguments to push_profilenotgne22-42/+62
2021-01-08Struct-ify arguments to build_wait_commandnotgne21-21/+23
2021-01-08Struct-ify arguments to build_activate_commandnotgne21-26/+28
2021-01-08Fix trivial lint issuesnotgne24-8/+7
2021-01-08Restructure projectnotgne26-52/+50
2021-01-01Format logs differentlynotgne21-3/+3
2020-12-30Modify activation logic to keep SSH connection alive for magic-rollback and ↵notgne24-84/+325
avoid forking or disconnecting std{out,err}
2020-12-27Make printed deployment information be info level instead of warnnotgne21-1/+1
2020-12-27Remove discriminant (they are already differenciated by binary name)notgne21-1/+0
2020-12-27Deduplicate level to emoji pattern into make_emoji()notgne21-14/+12
2020-12-27Fix log dir/file mismatchnotgne22-3/+3
2020-12-27Use error log macro more in activate.rsnotgne21-7/+3
2020-12-27Replace logger, add more logging options including filesnotgne24-20/+136
2020-12-22Fix the order in which settings are mergednotgne21-2/+2
2020-12-19Fix fast_connection flag to enable substitute-on-destination correctlynotgne21-1/+1
2020-12-15Simplify the types involved a littleAndreas Fuchs1-4/+4
The cursed match is still cursed, but at least we're not sending useless data across channels anymore.
2020-12-15Use notify crate to learn about deletion of the activation sentinelAndreas Fuchs1-33/+39
We should now be able to deploy to non-Linux systems, and build all the required binaries too.
2020-12-02Add SPDX-FileCopyrightText to the three files that I changed substantiallyAndreas Fuchs2-0/+2
2020-12-02Reinstate NoProfileUserAndreas Fuchs1-0/+1
Seems to have been removed by mistake in the previous cleanup
2020-12-02Clean up utils/mod.rsAlexander Bantyev1-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.
2020-12-02Fail early if there is no activation script in profile pathAlexander Bantyev1-0/+17
2020-12-02Use DeployData's store path to build the activate-rs pathAndreas Fuchs3-30/+4
This gets rid of yet more code, so - win!
2020-12-02Don't copy the activate script (it's part of the closure anyway)Andreas Fuchs1-1/+0
2020-12-02Use the profile closure's activate script to activate the profileAndreas Fuchs3-23/+13
This gets rid of the "current_exe" vestige that has stuck around from when this program was meant to be standalone; instead, we use the (already known) path to the activate-rs wrapper, which automatically uses the correct binary for the deploy target platform.
2020-11-29Use crude Nix parsing for parsing the flake pathnotgne22-46/+94
2020-11-27Use the last `.` for node/profile name separation, ignore any trailing `.`. ↵notgne21-2/+41
This should solve at least part of #10