ALPHA: wire is a tool to deploy nixos systems
wire.althaea.zone/
1
2
3
4
5wire is a tool to deploy nixos systems. its usage is inspired by colmena however it is not a fork.
6
7Read the [The Tutorial](https://wire.althaea.zone/tutorial/overview.html), [Guides](https://wire.althaea.zone/guides/installation.html), or continue reading this readme for development information.
8
9## Tree Layout
10
11```
12wire
13├── wire
14│ ├── lib
15│ │ └── Rust library containing business logic, consumed by `wire`
16│ ├── cli
17│ │ └── Rust binary, using `lib`
18│ └── agent
19│ └── Rust binary ran on a target node. receives key file bytes and metadata w/ protobuf over SSH stdin
20├── doc
21│ └── a [vitepress](https://vitepress.dev/) site
22├── runtime
23│ └── Nix files used during runtime to evaluate nodes
24├── bench
25│ └── A little tool to benchmark wire against a large hive
26└──tests
27 └── Directories used during cargo & NixOS VM testing
28```
29
30## Development
31
32Please use `nix develop` for access to the development environment and to ensure
33your changes are ran against the defined git hooks. For simplicity, you may wish
34to use [direnv](https://github.com/direnv/direnv).
35
36### Testing
37
38#### dhat profiling
39
40```sh
41$ just build-dhat
42```
43
44#### Testing
45
46```sh
47$ cargo test
48$ nix flake check
49```