Zhaofeng Li
4037b61a2b
apply: Fix typo in help
2022-06-03 23:51:32 -07:00
Zhaofeng Li
1be16d552d
apply: Add --reboot flag
...
Fixes #46 .
2022-05-22 02:15:33 -07:00
Zhaofeng Li
26b2203da9
Update deps
2022-03-07 22:02:04 -08:00
Zhaofeng Li
cf9a72a1d4
nix: Add initial nix-eval-job integration
...
A DrvSetEvaluator is able to evaluate attribute sets of derivations,
streaming results as they come in.
2022-01-22 17:50:53 -08:00
Zhaofeng Li
31fd1e49ac
Move nix::{NixResult, NixError} to error::{ColmenaResult, ColmenaError}
2022-01-08 01:20:36 -08:00
Zhaofeng Li
da7907c874
General code cleanup
2022-01-05 14:01:05 -08:00
Zhaofeng Li
81e2982bbb
Migrate to clap 0.3
2022-01-03 10:37:03 -08:00
Zhaofeng Li
98897bf4de
Support building on target nodes
...
This partially addresses #33 , and allows Colmena to be used more
easily on bandwidth-constrained hosts and macOS.
With `deployment.buildOnTarget = true;` deployment works fine from
macOS without designated builders, except when IFD is involved.
2022-01-01 16:41:35 -08:00
Zhaofeng Li
7757a0e45d
command/apply: Use verbose output when goal is "dry-activate"
...
It doesn't make sense to use the spinners since you can't see
the full output from the activation script.
Fixes #44 .
2021-12-04 01:03:26 -08:00
Zhaofeng Li
a42e8c5bf0
Misc cleanup
2021-11-23 14:12:01 -08:00
Zhaofeng Li
0cb3f8e968
Redesign deployment process (again)
...
We now ship Events from different parts of the deployment process
via a channel to a job monitor.
2021-11-21 00:11:37 -08:00
Zhaofeng Li
c271780b63
Improve error reporting
2021-11-18 13:15:20 -08:00
Zhaofeng Li
0e0a1e84f0
Make flake resolution (slightly) less terrible
...
Instead of using `path:` which always copies the entire directory,
we now try to resolve the Flake URI using `nix flake metadata` which
may give us a `git+file:`.
2021-10-25 23:38:10 -07:00
Zhaofeng Li
e50ba82bf2
Add basic Flakes support
...
Co-authored-by: Alex Zero <joseph@marsden.space>
2021-06-29 01:02:43 -07:00
Zhaofeng Li
22ae18f5e7
Exit with non-zero code if any node fails to deploy
...
The exit codes are in flux and should not be relied upon.
Fixes #28 .
2021-05-24 00:15:38 -07:00
Zhaofeng Li
99ba8db335
Merge pull request #21 from jasonrm/machines-file
...
eval.nix: Adds meta.machinesFile option that is passed to Nix as builder option
2021-05-07 16:25:36 -07:00
Jason R. McNeil
3ee97c2a76
apply: Add deployment.replaceUnknownProfiles
option and --force-replace-unknown-profiles
switch
...
If `deployment.replaceUnknownProfiles` is set to false, a diverged hive
config (in a shared git repo for example) won't result in accidentally
undoing another applied configuration profile.
The deployment option is set to true so that fiction is minimized from
aggressive garbage collection, first time profile application and low
contention hives.
2021-04-10 13:42:38 -07:00
Jason R. McNeil
e0465567b2
eval.nix: Adds meta.machinesFile option that is passed to Nix as builders argument
2021-04-09 23:54:13 -07:00
Zhaofeng Li
610a725ba2
Add --keep-result to create GC roots for profiles
...
This resembles the behavior of morph.
Reference: #18
2021-03-17 14:59:57 -07:00
Zhaofeng Li
9eae937b42
apply: Disable configuration of build process limit
2021-02-17 08:09:15 -08:00
Zhaofeng Li
d9d9bf48f6
apply.rs: Remove unused build limit flag
2021-02-09 22:33:45 -08:00
Zhaofeng Li
78a6825be6
Add exec command
2021-02-09 22:07:10 -08:00
Zhaofeng Li
1c9e7cdb83
Allow customization of SSH configurations
2021-02-09 21:02:00 -08:00
Zhaofeng Li
a2fa8f1da7
Clean up logging / progress display
2021-02-09 19:28:45 -08:00
Zhaofeng Li
8934726664
More fixes to key deployment and logging
2021-02-09 14:57:11 -08:00
Zhaofeng Li
84aa165aef
Refactoring and deployment.keys implementation
...
More refactoring of the deployment process, as well as an initial
implementation of `deployment.keys`.
Fixes #2 .
2021-02-08 19:00:29 -08:00
Zhaofeng Li
ade2095919
Remove unused --no-build-substitutes
...
Ended up not implementing this.
2021-01-24 17:26:50 -08:00
Zhaofeng Li
506b894be6
Redesign deployment process
...
Now evaluation can be automatically split into chunks based on available
RAM. All three stages of the deployment process (evaluate, build,
apply) can happen concurrently.
Fixes #1 .
2021-01-24 14:08:48 -08:00
Zhaofeng Li
f3bf3dc492
Allow disabling --use-substitutes and --gzip during copying
2021-01-13 12:20:34 -08:00
Zhaofeng Li
2cb429ed8d
Minor fixes to CLI help messages
2021-01-01 20:45:41 -08:00
Zhaofeng Li
60d6475897
Traverse up to find hive.nix by default, and other CLI ergonomics fixes
2020-12-29 12:02:50 -08:00
Zhaofeng Li
ed52e259aa
Add support for --show-trace
2020-12-28 21:35:43 -08:00
Zhaofeng Li
45b6568164
Support per-node Nixpkgs overrides and local deployment
...
Also renamed the `network` key to `meta`.
2020-12-19 15:10:22 -08:00
Zhaofeng Li
d0ed138ef0
Refactoring and other stuff
2020-12-18 01:28:02 -08:00
Zhaofeng Li
e092ba5bb1
Initial commit
2020-12-15 20:23:02 -08:00