services/tahoe: SFTP support (#20372)
This commit is contained in:
commit
45854a02e8
1 changed files with 52 additions and 0 deletions
|
@ -138,6 +138,45 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
helper.enable = mkEnableOption "helper service";
|
helper.enable = mkEnableOption "helper service";
|
||||||
|
sftpd.enable = mkEnableOption "SFTP service";
|
||||||
|
sftpd.port = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = types.nullOr types.int;
|
||||||
|
description = ''
|
||||||
|
The port on which the SFTP server will listen.
|
||||||
|
|
||||||
|
This is the correct setting to tweak if you want Tahoe's SFTP
|
||||||
|
daemon to listen on a different port.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
sftpd.hostPublicKeyFile = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
description = ''
|
||||||
|
Path to the SSH host public key.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
sftpd.hostPrivateKeyFile = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
description = ''
|
||||||
|
Path to the SSH host private key.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
sftpd.accounts.file = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = types.nullOr types.path;
|
||||||
|
description = ''
|
||||||
|
Path to the accounts file.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
sftpd.accounts.url = mkOption {
|
||||||
|
default = null;
|
||||||
|
type = types.nullOr types.str;
|
||||||
|
description = ''
|
||||||
|
URL of the accounts server.
|
||||||
|
'';
|
||||||
|
};
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
default = pkgs.tahoelafs;
|
default = pkgs.tahoelafs;
|
||||||
defaultText = "pkgs.tahoelafs";
|
defaultText = "pkgs.tahoelafs";
|
||||||
|
@ -256,6 +295,19 @@ in
|
||||||
|
|
||||||
[helper]
|
[helper]
|
||||||
enabled = ${if settings.helper.enable then "true" else "false"}
|
enabled = ${if settings.helper.enable then "true" else "false"}
|
||||||
|
|
||||||
|
[sftpd]
|
||||||
|
enabled = ${if settings.sftpd.enable then "true" else "false"}
|
||||||
|
${optionalString (settings.sftpd.port != null)
|
||||||
|
"port = ${toString settings.sftpd.port}"}
|
||||||
|
${optionalString (settings.sftpd.hostPublicKeyFile != null)
|
||||||
|
"host_pubkey_file = ${settings.sftpd.hostPublicKeyFile}"}
|
||||||
|
${optionalString (settings.sftpd.hostPrivateKeyFile != null)
|
||||||
|
"host_privkey_file = ${settings.sftpd.hostPrivateKeyFile}"}
|
||||||
|
${optionalString (settings.sftpd.accounts.file != null)
|
||||||
|
"accounts.file = ${settings.sftpd.accounts.file}"}
|
||||||
|
${optionalString (settings.sftpd.accounts.url != null)
|
||||||
|
"accounts.url = ${settings.sftpd.accounts.url}"}
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
# Actually require Tahoe, so that we will have it installed.
|
# Actually require Tahoe, so that we will have it installed.
|
||||||
|
|
Loading…
Reference in a new issue