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
0927fe9dc1
cli: Add hidden command to generate shell autocompletion
2021-03-23 14:14:04 -07:00
Zhaofeng Li
53b55a102e
cli: Set bin_name to be lower case
2021-03-23 14:14:04 -07:00
Zhaofeng Li
ba2574755a
Separate global CLI setup into module
2021-03-23 14:14:04 -07:00
Zhaofeng Li
8abcd5d53b
"Successfully built" -> "Build successful" for consistency
2021-03-18 15:13:34 -07:00
Zhaofeng Li
b44dd1f877
apply_local: Don't bother evaluating other hosts
2021-03-18 15:05:05 -07:00
Zhaofeng Li
e9487ced9e
host: Use the key uploader script for both SSH and local
2021-03-17 22:39:05 -07:00
Zhaofeng Li
29cfd45141
Miscellaneous doc fixes
2021-03-17 19:07:26 -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
81375e71b2
deployment: Display the resulting paths if the goal is to build only
...
Reference: #18
2021-03-17 14:59:43 -07:00
Zhaofeng Li
0047a0dc91
niv: Follow unstable Nixpkgs
2021-03-17 14:59:05 -07:00
Zhaofeng Li
180d2f2435
Merge pull request #17 from jasonrm/nix-copy-ssh-options
...
Makes SSH options available to nix-copy-closure
2021-03-14 23:06:04 -07:00
Jason R. McNeil
4098bf73bc
Makes SSH options available to nix-copy-closure
2021-03-14 22:20:47 -07:00
Zhaofeng Li
fb5ff6f9c9
Allow specifying alternative commands for privilege escalation
...
Fixes #16 .
2021-03-10 08:42:51 -08:00
Zhaofeng Li
082a033443
eval.nix: Exclude internal Nixpkgs config options from node override warning
2021-02-17 23:06:22 -08:00
Zhaofeng Li
3b005b0949
src/progress.rs: Oops, forgot to add
2021-02-17 22:56:34 -08:00
Zhaofeng Li
e32e130621
Always print the entire log for failures in eval and build
...
This makes it easier to debug configuration issues without -v.
Fixes #14 .
2021-02-17 22:48:26 -08:00
Zhaofeng Li
d16a13654c
Merge nixpkgs.config
and nixpkgs.overlays
...
This replaces #12 , and allows for Nixpkgs overlays and config to be overridden
in machine configs. With #12 , overlays set in machine configurations
(`nixpkgs.overlays`) get silently ignored.
2021-02-17 22:46:01 -08:00
Zhaofeng Li
9eae937b42
apply: Disable configuration of build process limit
2021-02-17 08:09:15 -08:00
Zhaofeng Li
ee52032e4c
Merge pull request #12 from justinas/propagate-nixpkgs
...
Propagate same 'pkgs' to all modules
2021-02-16 13:01:42 -08:00
Justinas Stankevicius
10f98d715f
Propagate same 'pkgs' to all modules
2021-02-16 20:53:43 +02:00
Zhaofeng Li
6a9282e121
exec: Remove outdated doc
2021-02-12 16:21:38 -08:00
Zhaofeng Li
30dc352eb9
eval.nix: Add type checking to meta/network
...
Primarily to make the evaluation error out if the configuration
tries to use non-existent options (e.g., pinning Nixpkgs with
morph-specific options).
2021-02-12 14:52:09 -08:00
Zhaofeng Li
d0bba90d04
ssh: Fix shell escaping
...
The previous `sh -c` invocation was incorrect and just happened
to work on hosts with a Bourne-compatible shell set as the login
shell. Commands in the deploy script were being executed in the
login shell.
2021-02-12 13:55:44 -08:00
Zhaofeng Li
95ddbcbfd6
ssh/deploy-key: Skip chown if the user/group doesn't exist
...
This matches the behavior of NixOps.
Potential solution to #10 .
2021-02-12 13:54:17 -08:00
Zhaofeng Li
dbd66d7c7c
Add initial set of tests
2021-02-11 13:27:21 -08:00
Zhaofeng Li
114c344dbb
Merge pull request #9 from justinas/handle-keycommand-errors
...
Handle and report errors of key source, do not write out key if keyCommand failed
2021-02-11 13:13:08 -08:00
Justinas Stankevicius
4c7f8eb838
keyCommand: on error, do not upload key, report
2021-02-11 21:16:56 +02:00
Zhaofeng Li
e49e9367c0
key: Serialize KeySource through an intermediate struct
...
Well, still better than `if/else`-ing all the way. Also we
definitely need unit tests.
See #8 .
2021-02-11 00:51:11 -08:00
Zhaofeng Li
2886662e18
nix: Key names can contain one path component only
...
Well, I changed my mind and this should be cleaner.
2021-02-10 18:17:55 -08:00
Zhaofeng Li
28b635a6e8
README.md: Add example usage of keyCommand
2021-02-10 18:12:28 -08:00
Zhaofeng Li
52622ecd27
Add 'deployment.keys.<key>.keyCommand' support
...
Fixes #3 .
2021-02-10 18:08:47 -08:00
Zhaofeng Li
ce9f639a53
key: Make the key source better typed
2021-02-10 17:34:52 -08:00
Zhaofeng Li
62753ea138
progress: Let's just call them "tasks" instead of "processes"...
2021-02-10 17:20:49 -08:00
Zhaofeng Li
9d59a6a288
Merge pull request #5 from justinas/keys-keyfile
...
Add 'deployment.keys.<key>.keyFile' option
2021-02-10 17:20:28 -08:00
Justinas Stankevicius
d90fc56bc3
Implement key upload from local file
2021-02-10 20:37:54 +02:00
Justinas Stankevicius
f521f19629
Add deployment.keys.<key>.keyFile option
2021-02-10 20:37:54 +02:00
Zhaofeng Li
afabd8c6f9
Minor tokio cleanup
2021-02-10 10:29:17 -08:00
Zhaofeng Li
9f4d5a2221
Target stable toolchain
2021-02-10 00:41:02 -08:00
Zhaofeng Li
9a588815c8
exec.rs: Wording
2021-02-10 00:22:17 -08:00
Zhaofeng Li
13903800a8
README.md: More docs and sample output
2021-02-10 00:19:39 -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
a703a8b031
README.md: Fix silly typos :/
2021-02-09 14:30:50 -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
21c2bef3ad
Small fixes to eval logging
2021-02-05 02:20:57 -08:00
Zhaofeng Li
406e5a6443
apply-local: Allow overriding the node name
2021-02-05 02:20:08 -08:00