94b1a11326
feat: create colmena library
2024-10-10 21:04:01 +02:00
c53d80aa08
feat: Oui
2024-10-03 18:42:52 +02:00
i1i1
935aa77e53
Initial support for clap derive up to the top
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
197010c492
Remove lazy-static
2023-10-18 15:41:54 -06:00
Zhaofeng Li
c40e0e4c11
Start work on 0.5.0
2023-05-14 23:05:08 -06:00
Zhaofeng Li
5fdd743a11
Release 0.4.0
2023-05-14 23:05:08 -06:00
Zhaofeng Li
a4e0b98558
Update deps
2023-05-14 23:05:08 -06: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
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
81bda9d595
Update deps
2022-08-16 20:16:00 -06:00
Zhaofeng Li
ed89d02c1c
Cargo.toml: Use Rust 2021 edition
2022-07-01 16:31:13 -07:00
Zhaofeng Li
7058029deb
Update deps
2022-06-03 23:51:32 -07:00
Victor Nawothnig
e937eb8faa
Do not use an explicit user for ssh when deploymentUser is null
2022-06-01 12:30:49 +02:00
Zhaofeng Li
d2cff53d39
Update deps
2022-05-22 02:15:33 -07:00
Zhaofeng Li
0ce26c1fdd
Start work on 0.4.0
2022-04-27 14:10:58 -07:00
Zhaofeng Li
fbefc48d89
Release 0.3.0
2022-04-27 14:10:58 -07:00
Zhaofeng Li
45b135c1b1
nix_eval_jobs: Add timeouts to tests
...
Sometimes nix-eval-jobs would lock up indefinitely, so let's make it
fail fast in CI.
Also ignore test_json_global_error while we investigate.
2022-02-04 20:58:17 -08:00
Zhaofeng Li
0019fa8239
Update deps
2022-01-25 14:22:26 -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
cb4afb689a
Cargo.toml: Move tokio-test to dev-dependencies
2022-01-05 14:01:05 -08:00
Zhaofeng Li
2dbe2b1440
Cargo.toml: Update indicatif to 0.17.0-rc.1
2022-01-05 14:01:05 -08:00
Zhaofeng Li
f234e16e80
manual: Fix colorized CLI help
...
In clap 3.0, it's no longer possible to get `App::write_long_help` to
output colorized text (it doesn't invoke the Colorizer at all). So let's
move the generation outside of Rust.
2022-01-03 10:37:03 -08:00
Zhaofeng Li
3ea320b355
Update other deps
2022-01-03 10:37:03 -08:00
Zhaofeng Li
81e2982bbb
Migrate to clap 0.3
2022-01-03 10:37:03 -08:00
Zhaofeng Li
f253e6eb18
cli: Allow configuring output colorization
...
We now follow the <https://bixense.com/clicolors > standard.
2021-12-04 01:03:26 -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
08f9caa24c
Start work on 0.3.0
2021-11-18 15:41:39 -08:00
Zhaofeng Li
dd66ce30e0
Release 0.2.0
...
This is release 0.2.0, the first stable release of Colmena!
---
Colmena is a simple, stateless NixOS deployment tool modeled
after NixOps and morph. In particular, it is built from the
ground up to support parallelization of the steps in the
deployment process.
This release contains the following features:
- Node Tagging
- Local Deployment
- Secrets
- Ad Hoc Evaluation
- Nix Flakes Support
- Parallelism
We now have a User Manual at <https://zhaofengli.github.io/colmena/0.2 >
containing tutorials, sample configurations as well as a
complete listing of supported deployment options.
Signed-off-by: Zhaofeng Li <hello@zhaofeng.li>
2021-11-18 15:41:11 -08:00
Zhaofeng Li
fae58994e4
Prepare for 0.2.0 release
2021-11-18 13:15:20 -08:00
Zhaofeng Li
e5665775b2
Preserve elapsed time in store path listing after build
...
Fixes #36 .
2021-11-18 01:38:58 -08:00
Zhaofeng Li
80a71d9023
cli.rs: Point user at manual
2021-11-17 22:21:00 -08:00
Zhaofeng Li
c42c97d2f6
Add internal command to render CLI usage text for manual
2021-11-17 22:21:00 -08:00
Zhaofeng Li
f716daa3a1
Migrate to indicatif 0.7 beta
...
Now there is no need for the ugly hack where we drove the spinner
in a separate thread :)
2021-11-16 21:01:33 -08:00
Bjørn Forsman
4106a73e75
Allow selecting ssh user dynamically
...
...by setting `deployment.targetUser = null`.
This allows sharing a deployment file (hive.nix/flake.nix) between
multiple admins, without having to use a shared root account.
2021-10-23 15:06:56 +02: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
dbd66d7c7c
Add initial set of tests
2021-02-11 13:27:21 -08:00
Zhaofeng Li
afabd8c6f9
Minor tokio cleanup
2021-02-10 10:29:17 -08:00
Zhaofeng Li
a2fa8f1da7
Clean up logging / progress display
2021-02-09 19:28:45 -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
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
60d6475897
Traverse up to find hive.nix by default, and other CLI ergonomics fixes
2020-12-29 12:02:50 -08:00
Zhaofeng Li
9a75598962
Hi Tokio 1.0!
2020-12-23 13:28:25 -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