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
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