aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems')
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix8
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix17
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/netatalk.nix12
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/client.nix2
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/server.nix1
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/samba-wsdd.nix124
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/xtreemfs.nix6
7 files changed, 149 insertions, 21 deletions
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
index d17959a6a305..f2dc740fd88e 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ceph.nix
@@ -28,6 +28,9 @@ let
# Don't start services that are not yet initialized
unitConfig.ConditionPathExists = "/var/lib/${stateDirectory}/keyring";
+ startLimitBurst =
+ if daemonType == "osd" then 30 else if lib.elem daemonType ["mgr" "mds"] then 3 else 5;
+ startLimitIntervalSec = 60 * 30; # 30 mins
serviceConfig = {
LimitNOFILE = 1048576;
@@ -39,8 +42,6 @@ let
ProtectHome = "true";
ProtectSystem = "full";
Restart = "on-failure";
- StartLimitBurst = "5";
- StartLimitInterval = "30min";
StateDirectory = stateDirectory;
User = "ceph";
Group = if daemonType == "osd" then "disk" else "ceph";
@@ -48,13 +49,10 @@ let
-f --cluster ${clusterName} --id ${daemonId}'';
} // optionalAttrs (daemonType == "osd") {
ExecStartPre = ''${ceph.lib}/libexec/ceph/ceph-osd-prestart.sh --id ${daemonId} --cluster ${clusterName}'';
- StartLimitBurst = "30";
RestartSec = "20s";
PrivateDevices = "no"; # osd needs disk access
} // optionalAttrs ( daemonType == "mon") {
RestartSec = "10";
- } // optionalAttrs (lib.elem daemonType ["mgr" "mds"]) {
- StartLimitBurst = "3";
};
});
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
index f298f831fa7b..2082d513161e 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/ipfs.nix
@@ -44,6 +44,13 @@ in {
enable = mkEnableOption "Interplanetary File System (WARNING: may cause severe network degredation)";
+ package = mkOption {
+ type = types.package;
+ default = pkgs.ipfs;
+ defaultText = "pkgs.ipfs";
+ description = "Which IPFS package to use.";
+ };
+
user = mkOption {
type = types.str;
default = "ipfs";
@@ -176,7 +183,7 @@ in {
###### implementation
config = mkIf cfg.enable {
- environment.systemPackages = [ pkgs.ipfs ];
+ environment.systemPackages = [ cfg.package ];
environment.variables.IPFS_PATH = cfg.dataDir;
programs.fuse = mkIf cfg.autoMount {
@@ -207,14 +214,14 @@ in {
"d '${cfg.ipnsMountDir}' - ${cfg.user} ${cfg.group} - -"
];
- systemd.packages = [ pkgs.ipfs ];
+ systemd.packages = [ cfg.package ];
systemd.services.ipfs-init = {
description = "IPFS Initializer";
environment.IPFS_PATH = cfg.dataDir;
- path = [ pkgs.ipfs ];
+ path = [ cfg.package ];
script = ''
if [[ ! -f ${cfg.dataDir}/config ]]; then
@@ -239,7 +246,7 @@ in {
};
systemd.services.ipfs = {
- path = [ "/run/wrappers" pkgs.ipfs ];
+ path = [ "/run/wrappers" cfg.package ];
environment.IPFS_PATH = cfg.dataDir;
wants = [ "ipfs-init.service" ];
@@ -267,7 +274,7 @@ in {
cfg.extraConfig))
);
serviceConfig = {
- ExecStart = ["" "${pkgs.ipfs}/bin/ipfs daemon ${ipfsFlags}"];
+ ExecStart = ["" "${cfg.package}/bin/ipfs daemon ${ipfsFlags}"];
User = cfg.user;
Group = cfg.group;
} // optionalAttrs (cfg.serviceFdlimit != null) { LimitNOFILE = cfg.serviceFdlimit; };
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/netatalk.nix b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/netatalk.nix
index 7674c8f7fa8d..ca9d32311f5f 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/netatalk.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/netatalk.nix
@@ -108,10 +108,10 @@ in
extmap = mkOption {
type = types.lines;
- default = "";
- description = ''
- File name extension mappings.
- See <literal>man extmap.conf</literal> for more information.
+ default = "";
+ description = ''
+ File name extension mappings.
+ See <literal>man extmap.conf</literal> for more information.
'';
};
@@ -132,10 +132,10 @@ in
Type = "forking";
GuessMainPID = "no";
PIDFile = "/run/lock/netatalk";
- ExecStartPre = "${pkgs.coreutils}/bin/mkdir -m 0755 -p /var/lib/netatalk/CNID";
+ ExecStartPre = "${pkgs.coreutils}/bin/mkdir -m 0755 -p /var/lib/netatalk/CNID";
ExecStart = "${pkgs.netatalk}/sbin/netatalk -F ${afpConfFile}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
- ExecStop = "${pkgs.coreutils}/bin/kill -TERM $MAINPID";
+ ExecStop = "${pkgs.coreutils}/bin/kill -TERM $MAINPID";
Restart = "always";
RestartSec = 1;
};
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/client.nix b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/client.nix
index 677111814a01..03884cb72976 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/client.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/client.nix
@@ -244,7 +244,7 @@ in
# postStop, then we get a hang + kernel oops, because AFS can't be
# stopped simply by sending signals to processes.
preStop = ''
- ${pkgs.utillinux}/bin/umount ${cfg.mountPoint}
+ ${pkgs.util-linux}/bin/umount ${cfg.mountPoint}
${openafsBin}/sbin/afsd -shutdown
${pkgs.kmod}/sbin/rmmod libafs
'';
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/server.nix b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/server.nix
index 095024d2c8af..d782f7821656 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/server.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/openafs/server.nix
@@ -251,7 +251,6 @@ in {
wantedBy = [ "multi-user.target" ];
restartIfChanged = false;
unitConfig.ConditionPathExists = [
- "|/etc/openafs/server/rxkad.keytab"
"|/etc/openafs/server/KeyFileExt"
];
preStart = ''
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/samba-wsdd.nix b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/samba-wsdd.nix
new file mode 100644
index 000000000000..004d07064afd
--- /dev/null
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/samba-wsdd.nix
@@ -0,0 +1,124 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+ cfg = config.services.samba-wsdd;
+
+in {
+ options = {
+ services.samba-wsdd = {
+ enable = mkEnableOption ''
+ Enable Web Services Dynamic Discovery host daemon. This enables (Samba) hosts, like your local NAS device,
+ to be found by Web Service Discovery Clients like Windows.
+ <note>
+ <para>If you use the firewall consider adding the following:</para>
+ <programlisting>
+ networking.firewall.allowedTCPPorts = [ 5357 ];
+ networking.firewall.allowedUDPPorts = [ 3702 ];
+ </programlisting>
+ </note>
+ '';
+ interface = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "eth0";
+ description = "Interface or address to use.";
+ };
+ hoplimit = mkOption {
+ type = types.nullOr types.int;
+ default = null;
+ example = 2;
+ description = "Hop limit for multicast packets (default = 1).";
+ };
+ workgroup = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "HOME";
+ description = "Set workgroup name (default WORKGROUP).";
+ };
+ hostname = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ example = "FILESERVER";
+ description = "Override (NetBIOS) hostname to be used (default hostname).";
+ };
+ domain = mkOption {
+ type = types.nullOr types.str;
+ default = null;
+ description = "Set domain name (disables workgroup).";
+ };
+ discovery = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Enable discovery operation mode.";
+ };
+ listen = mkOption {
+ type = types.str;
+ default = "/run/wsdd/wsdd.sock";
+ description = "Listen on path or localhost port in discovery mode.";
+ };
+ extraOptions = mkOption {
+ type = types.listOf types.str;
+ default = [ "--shortlog" ];
+ example = [ "--verbose" "--no-http" "--ipv4only" "--no-host" ];
+ description = "Additional wsdd options.";
+ };
+ };
+ };
+
+ config = mkIf cfg.enable {
+
+ environment.systemPackages = [ pkgs.wsdd ];
+
+ systemd.services.samba-wsdd = {
+ description = "Web Services Dynamic Discovery host daemon";
+ after = [ "network.target" ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = {
+ DynamicUser = true;
+ Type = "simple";
+ ExecStart = ''
+ ${pkgs.wsdd}/bin/wsdd ${optionalString (cfg.interface != null) "--interface '${cfg.interface}'"} \
+ ${optionalString (cfg.hoplimit != null) "--hoplimit '${toString cfg.hoplimit}'"} \
+ ${optionalString (cfg.workgroup != null) "--workgroup '${cfg.workgroup}'"} \
+ ${optionalString (cfg.hostname != null) "--hostname '${cfg.hostname}'"} \
+ ${optionalString (cfg.domain != null) "--domain '${cfg.domain}'"} \
+ ${optionalString cfg.discovery "--discovery --listen '${cfg.listen}'"} \
+ ${escapeShellArgs cfg.extraOptions}
+ '';
+ # Runtime directory and mode
+ RuntimeDirectory = "wsdd";
+ RuntimeDirectoryMode = "0750";
+ # Access write directories
+ UMask = "0027";
+ # Capabilities
+ CapabilityBoundingSet = "";
+ # Security
+ NoNewPrivileges = true;
+ # Sandboxing
+ ProtectSystem = "strict";
+ ProtectHome = true;
+ PrivateTmp = true;
+ PrivateDevices = true;
+ PrivateUsers = false;
+ ProtectHostname = true;
+ ProtectClock = true;
+ ProtectKernelTunables = true;
+ ProtectKernelModules = true;
+ ProtectKernelLogs = true;
+ ProtectControlGroups = true;
+ RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
+ RestrictNamespaces = true;
+ LockPersonality = true;
+ MemoryDenyWriteExecute = true;
+ RestrictRealtime = true;
+ RestrictSUIDSGID = true;
+ PrivateMounts = true;
+ # System Call Filtering
+ SystemCallArchitectures = "native";
+ SystemCallFilter = "~@clock @cpu-emulation @debug @module @mount @obsolete @privileged @raw-io @reboot @resources @swap";
+ };
+ };
+ };
+}
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/xtreemfs.nix b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/xtreemfs.nix
index b8f8c1d71174..27a9fe847c58 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/xtreemfs.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/network-filesystems/xtreemfs.nix
@@ -112,7 +112,7 @@ in
description = ''
Must be set to a unique identifier, preferably a UUID according to
RFC 4122. UUIDs can be generated with `uuidgen` command, found in
- the `utillinux` package.
+ the `util-linux` package.
'';
};
port = mkOption {
@@ -232,7 +232,7 @@ in
description = ''
Must be set to a unique identifier, preferably a UUID according to
RFC 4122. UUIDs can be generated with `uuidgen` command, found in
- the `utillinux` package.
+ the `util-linux` package.
'';
};
port = mkOption {
@@ -370,7 +370,7 @@ in
description = ''
Must be set to a unique identifier, preferably a UUID according to
RFC 4122. UUIDs can be generated with `uuidgen` command, found in
- the `utillinux` package.
+ the `util-linux` package.
'';
};
port = mkOption {