Releases: forallsys/wire
v1.3.0
Added
- "Encrypting with Sops" documentation example.
--ssh-verbose/--svargument 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_compatcrate for internal nix
json log parsing.
Fixed
- Status bar is cleaned every time after execution is completed.
- Fixed garnix docs links in documentation.
- Forces
bashinstead 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.privilegeEscalationCommandnot being consistently applied.
v1.2.0
Added
- Manpages for
1&5, including subcommands.
Changed
- The domain for documentation to be
wire.forall.systems. The previous URL
will continue to be available but may redirect in the future. - Refactored node execution to be in two distinct phases, "planning" and
"execution". Previously, picking what steps would be run was done on the fly
during execution. - Cases where there are no keys to deploy, such as having 0 keys or filtered
keys, the "Key" step will not be planned when it previously would have. - Changed non-interactive SSH executed commands to use
BatchMode=yesinstead
of usingPasswordAuthentication=noandKbdInteractiveAuthentication=no.
Fixed
- Fix a bug where key permissions where being printed in decimal format instead
of octal. wire inspect nameswithout--jsonwill now correctly output names as a
newline separated string instead of always as a json list.- Fix a bug where errors encountered while reading nodes from stdin where
silently ignored
Removed
- Remove "Error Codes" documentation page & links.
v1.1.1
Fixed
- Fix a bug where wire was attempting to SSH to the local machine when
buildOnTarget&
allowLocalDeploymentwhere true.
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Added
- Add a
--substitute-on-destinationargument. - Add the
meta.nodeSpecialArgsmeta option. - Add
wire build, a new command to build nodes offline.
It is distinct fromwire apply build, as it will not ping
or push the result, making it useful for CI.
Changed
- Build store paths will be output to stdout
Fixed
- Fix invalidated caches not actually returning
None.
v1.0.0
v1.0.0-beta.0
Added
meta.nodeNixpkgswas implemented.- Caching of hive evaluation for flakes.
v1.0.0-alpha.1
Added
--handle-unreachablearg was added. You can use--handle-unreachable ignoreto
ignore unreachable nodes in the status of the deployment.- A basic progress bar
Changed
- Reverted "Wire will now attempt to use SSH ControlMaster by default."
showsubcommand looks nicer now.buildstep will always build remotely when the node is going to be applied
locally.
v1.0.0-alpha.0
Added
--ssh-accept-hostwas added.--on -will now read additional apply targets from stdin.{key.name}-key.{path,service}systemd units where added.--pathnow supports flakerefs (github:foo/bar,git+file:///...,
https://.../main.tar.gz, etc).--flakeis now an alias for--path.- Wire will now attempt to use SSH
ControlMasterby default. - A terminal bell will be output if a sudo / ssh prompt is ever printed.
Fixed
- Fix bug where
--non-interactivewas inversed ./resultlinks where being created. they will not be created anymore- Logging from interactive commands (absence of
--non-interactive) was
improved. - Passing
sources.nixpkgsdirectly from npins tometa.nixpkgshas
been fixed.
Changed
- Logs with level
tracing_level::TRACEare compiled out of release builds - Data integrity of keys have been greatly improved
- Unknown SSH keys will be immediately rejected unless
--ssh-accept-hostis passed. - Logging was improved.
config.nixpkgs.flake.sourceis now set by default ifmeta.nixpkgsends
with-sourceat priority 1000 (default).- Evaluation has been sped up by doing it in parallel with other steps until
the .drv is required - A node which is going to be applied locally will now never
pushor
cleanup.
Documented
- Added a real tutorial, and separated many how-to guides.
The tutorial leads the user through creating and deploying a Wire Hive.
Full Changelog: v0.5.0...v1.0.0-alpha.0
v0.5.0
Added
-
Added
--reboot. Wire will wait for the node to reconnect after rebooting.
Wire will refuse to reboot localhost. Keys post-activation will be applied
after rebooting! -
Most errors now have error codes and documentation links.
-
Added the global flag
--non-interactive. -
Wire now creates its own PTY to interface with openssh's PTY to allow for
interactive sudo authentication on both remote and local targets.Using a wheel user as
deployment.target.useris no longer necessary
(if you like entering your password a lot).A non-wheel user combined with
--non-interactivewill likely fail. -
Added
deployment.keys.environmentto give key commands environment variables.
Changed
wire inspect/show --jsonwill no longer use a pretty print.- Wire will now wait for the node to reconnect if activation failed (excluding
dry-activate). - Nix logs with the
TalkativeandChattylevel have been moved to
tracing_level::TRACE. - Error messages have been greatly improved.
Fixed
- Some bugs to do with step execution were fixed.
Full Changelog: v0.4.0...v0.5.0
v0.4.0
Added
- Nodes may now fail without stopping the entire hive from continuing. A summary
of errors will be presented at the end of the apply process. - Wire will now ping the node before it proceeds executing.
- Wire will now properly respect
deployment.target.hosts. - Wire will now attempt each target host in order until a valid one is found.
Changed
- Wire now directly evaluates your hive instead of shipping extra nix code along with its binary.
You must now useoutputs.makeHive { ... }instead of a raw attribute.
This can be obtained with npins or a flake input. - The expected flake output name has changed from
outputs.colmenatooutputs.wire.
Full Changelog: v0.3.0...v0.4.0