Update k0 to new-style nix modules
This commit is contained in:
67
modules.bak/fs.nix
Normal file
67
modules.bak/fs.nix
Normal file
@@ -0,0 +1,67 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.cluster.fs;
|
||||
|
||||
cert = cfg.cert;
|
||||
|
||||
pki = import ./pki.nix { inherit pkgs; ca = cfg.initca; };
|
||||
|
||||
common = {
|
||||
boot.kernelModules = [
|
||||
"dm_snapshot"
|
||||
"dm_mirror"
|
||||
"dm_thin_pool"
|
||||
];
|
||||
|
||||
networking = {
|
||||
firewall.allowedTCPPortRanges = [ { from = 5000; to = 50000; } ];
|
||||
firewall.allowedTCPPorts = [ 111 2049 ];
|
||||
firewall.allowedUDPPorts = [ 111 2049 24007 24008 ];
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.lvm2 ];
|
||||
};
|
||||
|
||||
glusterfs = {
|
||||
services.glusterfs = {
|
||||
enable = true;
|
||||
tlsSettings = {
|
||||
caCert = pki.ca.cert;
|
||||
tlsKeyPath = cert.key;
|
||||
tlsPem = cert.cert;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nfs = {
|
||||
services.nfs.server = {
|
||||
enable = true;
|
||||
exports = cfg.nfs.exports;
|
||||
};
|
||||
};
|
||||
in {
|
||||
options.cluster.fs = {
|
||||
enable = mkEnableOption "Enable nfs fileserver";
|
||||
|
||||
nfs = {
|
||||
enable = mkEnableOption "Enable nfs fileserver";
|
||||
exports = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
|
||||
glusterfs.enable = mkEnableOption "Enable glusterfs fileserver";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (
|
||||
mkMerge [
|
||||
common
|
||||
(mkIf cfg.nfs.enable nfs)
|
||||
(mkIf cfg.glusterfs.enable glusterfs)
|
||||
]
|
||||
);
|
||||
|
||||
imports = [ ./os.nix ];
|
||||
}
|
||||
Reference in New Issue
Block a user