aboutsummaryrefslogtreecommitdiff
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
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
2020-11-27Quote node and profile names given to `nix build` (relates to #10)notgne21-2/+2
2020-11-27Remove old `--no-link` flags to the Nix buildnotgne22-10/+6
2020-11-24Fix ProfileNotFound error messagenotgne21-1/+1
2020-11-22Print deployment if interactive mode is disablednotgne21-0/+4
2020-11-22Remove ref/cows from DeployDefs, add interactive flag (resolves #4)notgne24-54/+67
2020-11-22Refactor running to deprecate deploy_all_profiles/push_all_profilesnotgne21-237/+122