ALPHA: wire is a tool to deploy nixos systems wire.althaea.zone/
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

some changes from watching someone read the docs

+4 -39
+1 -3
doc/guides/installation.md
··· 19 19 20 20 ## Binary Cache 21 21 22 - You must enable the [garnix binary cache](https://garnix.io/docs/caching) on all 23 - nodes in your wire hive, otherwise they will not accept the wire key agent and 24 - you will be compiling everything from source. 22 + You should enable the [garnix binary cache](https://garnix.io/docs/caching). 25 23 26 24 ## Installation through flakes 27 25
-2
doc/guides/migrate.md
··· 19 19 atleast that was the intention when writing it!). There are a few changes you 20 20 should know: 21 21 22 - - Wire pushes a real binary file to apply keys. You'll need to _atleast_ add garnix's 23 - public key for your remote server otherwise it will refuse the binary. 24 22 - [You don't have to use a root user](/guides/non-root-user.html) 25 23 - `apply-local` does not exist, `apply` will apply locally when appropriate 26 24 - [Many options have been aliased to nicer names](/reference/module.html)
+1 -1
doc/snippets/guides/installation/flake.nix
··· 18 18 forAllSystems = nixpkgs.lib.genAttrs (import systems); 19 19 in { 20 20 wire = wire.makeHive { 21 - nixpkgs = import nixpkgs {localSystem = "x86_64-linux";}; 21 + meta.nixpkgs = import nixpkgs {localSystem = "x86_64-linux";}; 22 22 23 23 # Continue to next How-To guide to fill this section 24 24 };
+2 -33
wire/lib/src/hive/steps/cleanup.rs
··· 3 3 4 4 use std::fmt::Display; 5 5 6 - use tokio::process::Command; 7 - use tracing::debug; 8 6 9 7 use crate::{ 10 - SubCommandModifiers, 11 8 errors::HiveLibError, 12 - hive::node::{Context, ExecuteStep, Node}, 9 + hive::node::{Context, ExecuteStep}, 13 10 }; 14 11 15 12 #[derive(PartialEq, Debug)] ··· 21 18 } 22 19 } 23 20 24 - pub(crate) async fn clean_up_control_master( 25 - node: &Node, 26 - modifiers: SubCommandModifiers, 27 - ) -> Result<(), HiveLibError> { 28 - let output = Command::new("ssh") 29 - .args(node.target.create_ssh_args(modifiers, true, false)?) 30 - .args(["-O", "stop", node.target.get_preferred_host()?]) 31 - .output() 32 - .await; 33 - 34 - match output { 35 - Err(err) => { 36 - debug!("failed to wind-down ControlMaster with `ssh -O stop`: {err}"); 37 - } 38 - Ok(std::process::Output { status, stderr, .. }) if !status.success() => { 39 - debug!( 40 - "failed to wind-down ControlMaster with `ssh -O stop`: {}", 41 - String::from_utf8_lossy(&stderr) 42 - ); 43 - } 44 - Ok(_) => {} 45 - } 46 - 47 - Ok(()) 48 - } 49 - 50 21 impl ExecuteStep for CleanUp { 51 22 fn should_execute(&self, ctx: &Context) -> bool { 52 23 !ctx.should_apply_locally 53 24 } 54 25 55 - async fn execute(&self, ctx: &mut Context<'_>) -> Result<(), HiveLibError> { 56 - let _ = clean_up_control_master(ctx.node, ctx.modifiers).await; 57 - 26 + async fn execute(&self, _ctx: &mut Context<'_>) -> Result<(), HiveLibError> { 58 27 Ok(()) 59 28 } 60 29 }