i1i1
5b8611744b
Convert eval arguments to type-safe clap derive
2023-10-23 14:23:06 -06:00
i1i1
cdfc1f15a1
Convert build arguments to type-safe clap derive
2023-10-23 14:23:06 -06:00
i1i1
87f4e3a676
Convert apply arguments to type-safe clap derive
2023-10-23 14:23:06 -06:00
i1i1
b80b57cb48
Convert apply-local arguments to type-safe clap derive
2023-10-23 14:23:06 -06:00
i1i1
1e38582451
Parse value for NodeFilter
with clap
2023-10-23 14:23:06 -06:00
i1i1
21df0ac5a5
Use clap for parsing Hive arguments
2023-10-23 14:23:06 -06:00
i1i1
9ddc53136a
Add trait implementations for Goal
2023-10-23 14:23:06 -06:00
i1i1
197010c492
Remove lazy-static
2023-10-18 15:41:54 -06:00
Zhaofeng Li
8d92dadb32
cargo clippy --all-targets --fix
...
Suggested in #169 , I just ran it myself.
Co-authored-by: i1i1 <vanyarybin1@live.ru>
2023-10-18 15:41:54 -06:00
Zhaofeng Li
85e5303557
job: Remove unneeded mut
2023-10-18 15:41:54 -06:00
Luca Di Carlo
df61f1793a
chore: dead link
2023-08-20 13:48:03 +02:00
Zhaofeng Li
19384f3ee2
Merge pull request #155 from oddlama/fix-overridden-nodes
2023-07-01 09:13:13 -06:00
oddlama
c6f42e447d
fix: allow specialArgs and nodeSpecialArgs to override name and nodes
...
Co-authored-by: Zhaofeng Li <hello@zhaofeng.li>
2023-07-01 09:07:17 -06:00
emilylange
beb157dcb6
ssh: fix substitution when using experimental nix copy
2023-05-23 15:49:52 +02:00
oddlama
24900c5624
fix: remove usage of impure variable currentSystem in flakes
2023-02-02 00:27:29 +01:00
Zhaofeng Li
7602e548a7
hive: Mark all descriptions as Markdown
...
mdDoc didn't exist prior to 22.11 so we make it noop there.
Fixes #133 .
2023-01-29 12:19:27 -07:00
Connor Prussin
691ac99e4d
Use nixops implementation of key services
2023-01-27 13:43:12 -07:00
ThinkChaos
90c88ddd17
refactor: rename NixOptions to NixFlags
...
This helps differentiate in the code Nix's `--option` and other CLI
flags (previously referred to as options).
2022-11-13 16:53:04 -07:00
ThinkChaos
d73fa5d74f
cli: Explicit value_name
for --node to be all caps like others
2022-11-13 16:53:04 -07:00
ThinkChaos
19bf776e8e
cli: Add --nix-option to allow passing arbitrary nix options
2022-11-13 16:53:00 -07:00
Zhaofeng Li
5432fe488e
error: Add backtraces to ChildFailure and ChildKilled
...
The plan is to have more hierarchical error types so it's easier
to find exactly where in the deployment flow an error occurred.
2022-10-29 13:42:47 -06:00
Zhaofeng Li
715e10561b
deployment: Pass job to host during upload_keys
2022-10-29 13:42:47 -06:00
Zhaofeng Li
2efa8d26c1
eval: Fix rustfmt
2022-10-29 02:36:11 -06:00
Zhaofeng Li
f6c13a20c3
eval: Use correct value parser for expression_file
...
Fallout from Clap 4.0 migration.
2022-10-29 02:24:57 -06:00
Zhaofeng Li
956c3363b8
deployment: Fail the evaluation job if any attribute fail to evaluate
...
nix-eval-jobs doesn't return non-zero exit code if any attribute
fail to evaluate. Let's just keep track ourselves.
Fixes #122 .
2022-10-19 17:16:25 -06:00
Zhaofeng Li
872949504b
Migrate to Clap 4.0
...
It was kind of a bumpy experience. Gradual migration to the Derive API
is coming soon.
2022-10-09 15:26:37 -06:00
Zhaofeng Li
bf95e2dce8
job: Fix job state update
...
Previously, if `old_state == new_state` the job metadata wasn't reinserted.
Just `get_mut` instead of removing and reinserting.
2022-10-09 15:26:37 -06:00
Zhaofeng Li
513ffd1f12
Apply fixes from Clippy
2022-10-09 15:26:37 -06:00
Zhaofeng Li
0ee3bb2e62
Update inotify-tools alias
...
No longer exists in unstable since https://github.com/NixOS/nixpkgs/pull/192681 .
2022-09-28 18:47:42 -06:00
Zhaofeng Li
a8e6b999cf
host/ssh: Fix extension matching for .drv
...
Oopsie
2022-09-21 00:40:27 -06:00
Zhaofeng Li
3bdd0b1cc7
hive/flake.nix: Fix trailing whitespce
2022-09-18 17:45:43 -06:00
Zhaofeng Li
3e8ec98a26
ssh: Support using the experimental nix copy
command to copy
...
The new SSH store protocol (ssh-ng://) provides better performance.
This is now enabled for flake deployments.
2022-09-18 17:27:46 -06:00
Zhaofeng Li
695ec0c36f
Use --extra-experimental-features as opposed to --experimental-features
2022-09-18 17:27:46 -06:00
Zhaofeng Li
d4dcf1c6e9
Add support for using an already-evaluated hive
...
Note that the interface hasn't been finalized yet.
After this commit, the discovery order is:
1. flake.nix `colmenaHive` output (prepared hive)
2. flake.nix `colmena` output (raw hive)
3. hive.nix (raw hive)
2022-09-18 17:27:46 -06:00
Zhaofeng Li
bd048e98d8
flake.nix: Add lib.makeHive
...
Ground work to make the evaluation logic more clearly separated from
the deployment logic.
The `colmenaHive` output will be the integration point between the two
halves.
2022-09-18 17:27:46 -06:00
Zhaofeng Li
52b594a167
apply: Run rustfmt
2022-09-01 18:49:11 -06:00
Zhaofeng Li
f01f6ac197
deployment: Move post-activation key upload after reboot
...
Ref: #113
2022-09-01 18:42:37 -06:00
Zhaofeng Li
3af3751d8e
apply: Default to the "boot" goal if --reboot is passed
...
Fixes #113 .
2022-09-01 18:42:37 -06:00
Zhaofeng Li
e740a50b73
nix/assets: Use more descriptive prefix for temp dir
2022-08-28 00:45:23 -06:00
Zhaofeng Li
3fbc5eeb11
repl: Add arguments depending on Nix version
2022-08-17 11:56:30 -06:00
Zhaofeng Li
741d5c4fbb
repl: Use a temporary file for the expression
...
This makes it compatible with Nix 2.3+.
2022-08-17 11:56:30 -06:00
Zhaofeng Li
7aa1607a3c
nix_eval_jobs: Pass the expression on the command line
...
This gets rid of the temporary file.
2022-08-17 01:09:43 -06:00
Zhaofeng Li
06168dabf3
nix_eval_jobs: Remove --impure
...
Note that this still does not make flake evaluation pure in
nix-eval-jobs yet, since it forcibly resets `evalSettings.pureEval`
prior to starting the evaluation.
2022-08-16 20:38:42 -06:00
Zhaofeng Li
c540e00861
Add repl
subcommand
...
Fixes #115 .
2022-08-16 20:16:00 -06:00
Zhaofeng Li
11add6501e
exec: Set label width in output
2022-08-16 20:16:00 -06:00
Zhaofeng Li
80426aa814
cli: Support passing --impure
2022-08-16 20:16:00 -06:00
Zhaofeng Li
8aca525788
Make flake evaluation pure
...
This seems to be the easiest way to get pure-eval working with
existing evaluation mechinery (nix-instantiate, nix-eval-jobs).
Now `--pure-eval` is forced for flakes with user being able to
add `--impure` as needed.
2022-08-16 20:16:00 -06:00
Zhaofeng Li
092e5848ab
Directly serialize Nix expressions as quoted strings
2022-08-16 20:16:00 -06:00
Zhaofeng Li
271d9ae576
nix/assets: Make assets a flake
...
Groundwork to make flake evaluation pure. `pure-eval` works when
the git workspace is clean.
2022-08-16 20:16:00 -06:00
Zhaofeng Li
a98d1f8963
nix/flake: Always resolve flake metadata
2022-08-16 20:16:00 -06:00