···2323The simplest way to apply is simply running:
24242525```sh
2626-wire apply switch
2626+$ wire apply switch
2727```
28282929Which will `switch` to each node's NixOS system in your hive and push
···110110Use the `--on` argument to specify which nodes in your hive to apply:
111111112112```sh
113113-wire apply --on node-a
113113+$ wire apply --on node-a
114114```
115115116116Further examples, including how you can utilise tags, can be found on the [Targeting Nodes](./targeting) page.
+1-1
doc/guides/flakes/nixos-rebuild.md
···2626the `nixosConfigurations`-es that also match a node in the hive.
27272828```
2929-❯ nix run ~/Projects/wire#wire-small -- show
2929+$ wire show
3030Hive {
3131 nodes: {
3232 Name(
+1-1
doc/guides/flakes/overview.md
···2424:::
25252626```
2727-❯ nix flake show
2727+$ nix flake show
2828git+file:///some/path
2929└───wire: unknown
3030```
+2-2
doc/guides/parallelism.md
···11---
22comment: true
33title: Use Parallelism
44-description: A deeper dive into parallelism with wire Tool.
44+description: How to use parallelism with wire Tool.
55---
6677# {{ $frontmatter.title }}
···1717controlled with the `-p` / `--parallel` argument.
18181919```sh
2020-wire apply -p <NUMBER>
2020+$ wire apply -p <NUMBER>
2121```
22222323## Interaction with Nix's `max-jobs`
+17-4
doc/guides/targeting.md
···1414example:
15151616```sh
1717-wire apply switch --on node-a,node-b
1717+$ wire apply switch --on node-a,node-b
1818```
19192020Will switch-to-configuration on node a, and node b.
21212222+## Reading from Stdin
2323+2424+Passing `--on -` will read whitespace-seperated nodes and tags from stdin. This
2525+can be combined with normal `--on` usage.
2626+2727+For example:
2828+2929+```sh
3030+$ echo "node-a node-b" | wire apply --on @other --on -
3131+```
3232+3333+Will apply on `node-a`, `node-b`, and all nodes with the tag `@other`.
3434+2235## Tag Basics
23362437Nodes can have _tags_, which allows you to easily target multiple, related
···5770For example, to deploy only nodes with the `cloud` tag, use
58715972```sh
6060-wire apply --on @cloud
7373+$ wire apply --on @cloud
6174```
62756376## Further Examples
···7386You can mix tags and node names with `--on`:
74877588```sh
7676-wire apply --on @cloud node-5
8989+$ wire apply --on @cloud --on node-5
7790```
78917992This will deploy all nodes in `@cloud`, alongside the node `node-5`.
···8396You can specify many tags together:
84978598```sh
8686-wire apply --on @cloud @on-prem
9999+$ wire apply --on @cloud @on-prem
87100```
8810189102This is a union between `@cloud` and `@on-prem`.
+13-19
doc/tutorial/overview.md
···30303131### Features
32323333-| Features | wire | Colmena |
3434-| ---------------------------------- | ------------------ | ------------------ |
3535-| Node Tagging | :white_check_mark: | :white_check_mark: |
3636-| Secret Management | :white_check_mark: | :white_check_mark: |
3737-| Parallel Evaluation | :white_check_mark: | :white_check_mark: |
3838-| Node Tagging | :white_check_mark: | :white_check_mark: |
3939-| Remote Builds | :white_check_mark: | :white_check_mark: |
4040-| Key Services | :white_check_mark: | :white_check_mark: |
4141-| Pipeline Support | :white_check_mark: | :x:[^2] |
4242-| Non-Root Deployments[^4] | :white_check_mark: | :x:[^3] |
4343-| `--flake` accepts flakerefs | :white_check_mark: | :x: |
4444-| REPL & Eval expressions | :x: | :white_check_mark: |
4545-| Adhoc remote command execution[^5] | :x: | :white_check_mark: |
3333+| Features | wire | Colmena |
3434+| ------------------------------------------------------------- | ------------------ | ------------------ |
3535+| [Node Tagging](/guides/targeting.html#tag-basics) | :white_check_mark: | :white_check_mark: |
3636+| [Secret Management](/guides/keys.html) | :white_check_mark: | :white_check_mark: |
3737+| [Parallel Deployment](/guides/parallelism.html) | :white_check_mark: | :white_check_mark: |
3838+| Remote Builds | :white_check_mark: | :white_check_mark: |
3939+| [Key Services](/guides/keys.html#using-keys-with-services) | :white_check_mark: | :white_check_mark: |
4040+| [Pipeline Support](/guides/targeting.html#reading-from-stdin) | :white_check_mark: | :x:[^2] |
4141+| [Non-Root Deployments](/guides/non-root-user) | :white_check_mark: | :x:[^3] |
4242+| `--path` accepts flakerefs | :white_check_mark: | :x: |
4343+| REPL & Eval expressions | :x: | :white_check_mark: |
4444+| Adhoc remote command execution[^4] | :x: | :white_check_mark: |
46454746[^2]: You need to write custom nix code to use Colmena hive metadata inside environments like CI pipelines, bash scripting, etc., which requires a knowledge of its internals. Recently it agained the [eval feature](https://colmena.cli.rs/unstable/features/eval.html) which has improved the situation since wire was first started.
48474948[^3]: See https://github.com/zhaofengli/colmena/issues/120
50495151-[^4]:
5252- You may deploy with _any_ user who can login through SSH, whether they be
5353- `wheel` or not. You may need to enter your password multiple times for the various elevated
5454- steps wire needs to perform.
5555-5656-[^5]: wire lacks an equivalent to `colmena exec`.
5050+[^4]: wire lacks an equivalent to `colmena exec`.
57515852### Speed
5953