Commit graph

249 commits

Author SHA1 Message Date
Zhaofeng Li
372de58dff integration-tests: Make it easier to override pkgs and colmena 2021-12-07 23:13:31 -08:00
Zhaofeng Li
31fc98cfa7 nix: Remove ugly toJSON hack
We now evaluate with --strict.
2021-12-07 23:13:31 -08:00
Zhaofeng Li
eebded1786 Build each node individually
Now nodes that take a long time to build won't bottleneck the
deployment of other nodes in the same chunk.

Fixes #47.
2021-12-07 23:13:31 -08:00
Zhaofeng Li
ea09e60e36 default.nix: Oops 2021-12-06 15:08:47 -08:00
Zhaofeng Li
14f6c707f5 flake.nix: Cherry pick supported platforms 2021-12-06 12:47:33 -08:00
Zhaofeng Li
4a31a01c4f default.nix: Match what was merged in Nixpkgs 2021-12-06 12:26:19 -08:00
Zhaofeng Li
b88a19b904 .github: Add commit status for manual build 2021-12-05 18:07:12 -08:00
Zhaofeng Li
39f597f778 hive: Pass --read-write-mode to nix-instantiate --eval
This enables the use of IFD inside `meta` and node `deployment.*`
options, from which we obtain the values with `nix-instantiate --eval`.

Fixes #45.
2021-12-05 12:34:44 -08:00
Zhaofeng Li
e609301a72 .github: Run user manual build after main build workflow 2021-12-05 01:30:17 -08:00
Zhaofeng Li
804cf1f85e manual/migration: Fix broken link 2021-12-05 01:14:12 -08:00
Zhaofeng Li
7433661aed Add deployment.keys.<name>.name 2021-12-05 01:14:12 -08:00
Zhaofeng Li
fb69d701b3 .github: Clean up user manual workflows 2021-12-05 01:14:12 -08:00
Zhaofeng Li
321d847563 integration-tests: Add flakes test 2021-12-05 01:14:12 -08:00
Zhaofeng Li
f849a757d2 integration-tests: Allow configuring the presence of nodes
For example, there's no need to spin up any target nodes when we
just want to test `colmena apply-local` on the deployer node.
2021-12-05 01:14:12 -08:00
Zhaofeng Li
0f8873027f utils: Don't panic in capture_stream 2021-12-05 01:14:12 -08:00
Zhaofeng Li
8e5f168e5d integration-tests: Fix default.nix 2021-12-04 12:57:12 -08:00
Zhaofeng Li
ddccad4fb9 eval.nix: Auto-call functors as well
This makes some very cursed setup work :P
2021-12-04 01:03:26 -08:00
Zhaofeng Li
7757a0e45d command/apply: Use verbose output when goal is "dry-activate"
It doesn't make sense to use the spinners since you can't see
the full output from the activation script.

Fixes #44.
2021-12-04 01:03:26 -08:00
Zhaofeng Li
7b1feffb9e util: Log the configuration in use 2021-12-04 01:03:26 -08:00
Zhaofeng Li
9cd2af9438 cli: Re-order arguments in help message 2021-12-04 01:03:26 -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
dc57b489ea progress: Restore tty-detection after refactoring 2021-12-04 01:03:26 -08:00
Zhaofeng Li
ba16f50722 integration-tests: Cleanup, add parallelism test 2021-12-04 01:03:26 -08:00
Zhaofeng Li
73baa0446f flake.lock: Update all 2021-12-04 01:03:26 -08:00
Zhaofeng Li
064432f38e nix/deployment: Misc cleanup 2021-12-04 01:03:26 -08:00
Zhaofeng Li
04976e5fda job: Make event formatting less ugly 2021-12-03 00:06:21 -08:00
Zhaofeng Li
a3e292d7fb nix: Another deployment parallelization oops 2021-12-03 00:06:17 -08:00
Zhaofeng Li
2bba64a002 nix: Fix deployment parallelization 2021-12-02 23:49:46 -08:00
Zhaofeng Li
5b2d8d75e7 integration-tests: Add default.nix 2021-12-02 12:48:13 -08:00
Zhaofeng Li
a42e8c5bf0 Misc cleanup 2021-11-23 14:12:01 -08:00
Zhaofeng Li
e2bad26be5 manual: Simplify 2021-11-23 13:17:05 -08:00
Zhaofeng Li
ad124544f5 integration-tests: More elaborate tests 2021-11-22 13:39:40 -08:00
Zhaofeng Li
31682ee13e .github: Only run build test on 2.4
No need to build on other versions as long as we test flake-compat.
2021-11-22 13:39:40 -08:00
Zhaofeng Li
430a91cbad Add integration tests 2021-11-22 01:53:08 -08:00
Zhaofeng Li
ec51f5703f deployment: A few oops 2021-11-22 01:53:08 -08:00
Zhaofeng Li
572f77dbf5 A couple of fixes to progress output
Need to have some integration tests.
2021-11-21 16:02:45 -08:00
Zhaofeng Li
b3016ad3a7 progress/plain: Fix label alignment 2021-11-21 16:02:45 -08:00
Zhaofeng Li
46090598eb apply-local: Fix output after rewrite 2021-11-21 15:30:52 -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
5c84134af3 Refactor node names 2021-11-20 23:34:52 -08:00
Zhaofeng Li
de397dfc60 Merge branch 'release-0.2.x' 2021-11-18 16:16:13 -08:00
Zhaofeng Li
e95dc850f3 .github: Fix task skipping 2021-11-18 16:12:31 -08:00
Zhaofeng Li
8954af0571 .github: Strip quotes from Nix eval output 2021-11-18 16:10:48 -08:00
Zhaofeng Li
ee70b18ec6 Post-release manual updates 2021-11-18 16:10:30 -08:00
Zhaofeng Li
33e55f0a72 .github: Apparently I'm blind 2021-11-18 16:00:13 -08:00
Zhaofeng Li
e27cd5eed8 .github: Apparently I'm blind 2021-11-18 15:59:38 -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
65a8cd5c87 flake.lock: Update nixpkgs 2021-11-18 15:41:02 -08:00
Zhaofeng Li
47ccc6c9c4 nix/info.rs: Update message about nixUnstable for 21.11 2021-11-18 15:41:02 -08:00