forked from DGNum/colmena
key: Compute full path to key file in Nix
This commit is contained in:
parent
e58dde1be0
commit
f674ddf173
4 changed files with 15 additions and 5 deletions
|
@ -212,7 +212,7 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
keyType = { lib, name, ... }: let
|
||||
keyType = { lib, name, config, ... }: let
|
||||
inherit (lib) types;
|
||||
in {
|
||||
options = {
|
||||
|
@ -255,7 +255,15 @@ let
|
|||
Destination directory on the host.
|
||||
'';
|
||||
default = "/run/keys";
|
||||
type = types.str;
|
||||
type = types.path;
|
||||
};
|
||||
path = lib.mkOption {
|
||||
description = ''
|
||||
Full path to the destination.
|
||||
'';
|
||||
default = "${config.destDir}/${config.name}";
|
||||
type = types.path;
|
||||
internal = true;
|
||||
};
|
||||
user = lib.mkOption {
|
||||
description = ''
|
||||
|
|
|
@ -119,7 +119,7 @@ impl Local {
|
|||
}
|
||||
|
||||
let path = key.path();
|
||||
let key_script = format!("'{}'", key_uploader::generate_script(key, &path, require_ownership));
|
||||
let key_script = format!("'{}'", key_uploader::generate_script(key, path, require_ownership));
|
||||
|
||||
let mut command = Command::new("sh");
|
||||
|
||||
|
|
|
@ -220,7 +220,7 @@ impl Ssh {
|
|||
}
|
||||
|
||||
let path = key.path();
|
||||
let key_script = key_uploader::generate_script(key, &path, require_ownership);
|
||||
let key_script = key_uploader::generate_script(key, path, require_ownership);
|
||||
|
||||
let mut command = self.ssh(&["sh", "-c", &key_script]);
|
||||
|
||||
|
|
|
@ -91,6 +91,8 @@ pub enum UploadAt {
|
|||
pub struct Key {
|
||||
name: String,
|
||||
|
||||
path: PathBuf,
|
||||
|
||||
#[serde(flatten)]
|
||||
source: KeySource,
|
||||
|
||||
|
@ -146,7 +148,7 @@ impl Key {
|
|||
}
|
||||
}
|
||||
|
||||
pub fn path(&self) -> PathBuf { self.dest_dir.join(&self.name) }
|
||||
pub fn path(&self) -> &Path { &self.path }
|
||||
pub fn user(&self) -> &str { &self.user }
|
||||
pub fn group(&self) -> &str { &self.group }
|
||||
pub fn permissions(&self) -> &str { &self.permissions }
|
||||
|
|
Loading…
Reference in a new issue