Commit graph

38 commits

Author SHA1 Message Date
Zhaofeng Li
6146aef174 default.nix: Return a derivation directly 2022-02-16 01:11:06 -08:00
Zhaofeng Li
7e15450fd2 default.nix: Switch to flake-compat
`package.nix` is kept in sync with the expression in upstream Nixpkgs.
2022-01-21 00:45:12 -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
06804e3715 Support macOS
Currently it requires Linux remote builders to be set up to do
anything useful, but soon it will not once we able to initiate
builds directly on the target nodes themselves.
2022-01-01 16:41:35 -08:00
Zhaofeng Li
ea09e60e36 default.nix: Oops 2021-12-06 15:08:47 -08:00
Zhaofeng Li
4a31a01c4f default.nix: Match what was merged in Nixpkgs 2021-12-06 12:26:19 -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
430a91cbad Add integration tests 2021-11-22 01:53:08 -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
ee8ae7dd21 Move closer to release 2021-11-18 13:15:20 -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
50300dc0e7 default.nix: Fix CI failure 2021-11-17 22:33:30 -08:00
Zhaofeng Li
1ac5fd0f9b default.nix: Exclude manual from source 2021-11-17 22:21:00 -08:00
Zhaofeng Li
886b4c9dea default.nix: Use cargoLock.lockFile
Support for directly passing the Cargo.lock was added in
<https://github.com/NixOS/nixpkgs/pull/122158>.
2021-08-26 13:21:18 -07:00
Zhaofeng Li
e98a66bc2e Cargo.lock: Update 2021-08-25 09:51:48 -07:00
Zhaofeng Li
9d8153ee6d Make dev environment flake-compatible
Co-authored-by: Alex Zero <joseph@marsden.space>
2021-06-29 01:02:43 -07:00
Zhaofeng Li
8a95ee87b6 default.nix: Fix shell auto-complete generation 2021-06-29 01:02:43 -07:00
Zhaofeng Li
ac67d87be5 Update vendor checksum after update 2021-05-24 00:26:13 -07:00
Zhaofeng Li
0927fe9dc1 cli: Add hidden command to generate shell autocompletion 2021-03-23 14:14:04 -07: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
9f4d5a2221 Target stable toolchain 2021-02-10 00:41:02 -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
b3d84703f3 Fix Rust pinning 2020-12-18 01:57:32 -08:00
Zhaofeng Li
d0ed138ef0 Refactoring and other stuff 2020-12-18 01:28:02 -08:00
Zhaofeng Li
8bef4c1b3c Also add Nix environment 2020-12-15 20:58:39 -08:00