wire is a tool to deploy nixos systems wire.forall.systems
v1.4.2 8fbabcdd marshmallow

v1.4.2

### Fixed - Using `ssh-ng://` without `--no-check-sigs` which would break deployment.

v1.4.1 5e17f08a marshmallow

v1.4.1

This release is for compatibility with Lix 2.96 which deprecated `ssh://`. - The last associated nix log is now shown next to the node name, including a possible build name when `--print-build-logs` is passed. - Fix outputting coloured text, disrespecting NO_COLOR, in some case. - `wire a` is now an alias for `wire apply`. - `wire b` is now an alias for `wire build`. - Cli help strings generally tweaked and improved with links to documentation. - Status bar overflowing the terminal's width. - `ssh-ng://` is now always used instead of `ssh://`.

v1.4.0 4398c61d marshmallow

v1.4.0

In this release garnix has been replaced with our own binary cache as garnix has shutdown. This is a breaking change to your configuration if you previously used garnix to download wire. Please read https://wire.forall.systems/guides/installation.html#binary-cache for the up to date details! - `--print-build-logs` / `-L` argument. - `nix copy` & `nix build` operations are now manually implemented through a native rust nix daemon client if `--experimental-nix-client` is passed. - Node `target` liveliness is now determined directly by initiating a nix daemon handshake if `--experimental-nix-client` is passed. - Node evaluations are now cached between wire invocations in flake hives, invalidating old caches with a connection to the local nix daemon. - Parsing the output generated from `makeHive` now supports reading the schema version in semver format alongside the previous integer-based system. Currently, it still reports `1` to maintain backwards compatibility with v1.3.0. - A list of nodes that are currently deploying, failed, or waiting on a specific step are displayed below the status bar. - Changed public cache to `https://cache.forall.systems`, as noted above. - The Evaluate step is now only scheduled when the `.drv` output is actually required. This means that when building locally the Build step can construct the nix attribute directly skipping the Evaluate step. - The pre-activation key step is now scheduled after the evaluation step. The rationale for this is that while iterating on evaluation errors it was often quite annoying to repeatedly enter your password for key deployment. - Ipv6 addresses are now displayed in a nicer format in "Authenticate for ..." prompts. - Build logs from `-L` are now properly traced and logged alongside the build job name. - Internal representation of Nix store paths now use `snix`'s `StorePath` data type. - Flake evaluation caching now use `snix`'s `StorePath` native digests and name field as primary keys instead of full sqlite `text`. - Wire's cache is now deleted and recreated if migrations fail. - No longer panics on key agent env var not found. - Building & Pushing derivation outputs now explicitly operate on the `^out` output instead of incorrectly pushing all outputs (`^*`). This results in a roughly 12% speed increase in benchmarking. - Unknown fields in the hive schema are now ignored rather than rejected. - Cache database now uses `SqliteJournalMode::Wal` & `SqliteSynchronous::Normal`. - Attempting to reconnect to a rebooting node will now wait far longer before giving up. - Internally, Step store path outputs are now passed between steps via handles instead of mutable state. - Use `AssertPathExists` instead of conditional path existence checks for key services. - Built paths printed to stdout being clobbered with the status bar. - Not re-exporting `outputs.makeHive` under `outputs.lib.makeHive`. - Evaluating a flake hive attribute will now correctly use the `/nix/store` path returned from `nix flake prefetch`, instead of the `--path` URI. This has a small speed gain of about `1.07 ± 0.03` times faster in testing.

v1.3.0 e358237f marshmallow

### Added

- "Encrypting with Sops" documentation example. - `--ssh-verbose` / `--sv` argument which increases verbosity of SSH commands. ### Changed - Under the hood improvements to how status bar updates are handled internally. - Cargo dependency updates. - Switched (back) to the https://snix.dev/ `nix_compat` crate for internal nix json log parsing. ### Fixed - Status bar is cleaned every time after execution is completed. - Fixed garnix docs links in documentation. - Forces `bash` instead of remote user's potentially unsupported shell. This bug was causing strange and hard to diagnose issues. - Fixed a possible time-of-check to time-of-use bug while setting key permissions. - `deployment.privilegeEscalationCommand` not being consistently applied.

No message

No message

No message

No message

v1.0.0-alpha.0 d18d5ae1 marshmallow

first v1.0.0 prerelease

No message

No message

No message

No message

No message