More robust seaweedfs config.
This commit is contained in:
@@ -25,7 +25,7 @@ let
|
||||
}");
|
||||
|
||||
mkWeedExec = subcmd: options:
|
||||
(toString ([ "${seaweedfs}/bin/weed" subcmd ] ++ mkCmdLineArguments
|
||||
(toString ([ "${seaweedfs}/bin/weed" "-logtostderr" subcmd ] ++ mkCmdLineArguments
|
||||
((removeAttrs options [ "enable" "extraConfig" ])
|
||||
// (if options ? "extraConfig" then
|
||||
(removeAttrs options.extraConfig (builtins.attrNames options))
|
||||
@@ -59,7 +59,7 @@ let
|
||||
mkVolumeService = id: options:
|
||||
nameValuePair "seaweedfs-volume-${id}" {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ]
|
||||
after = [ "network-online.target" ]
|
||||
++ optional cfg.master.enable "seaweedfs-master.service";
|
||||
description = "SeaweedFS volume - ${id}";
|
||||
unitConfig.ConditionPathIsDirectory = options.dir;
|
||||
@@ -68,6 +68,7 @@ let
|
||||
Group = group;
|
||||
ExecStart = mkWeedExec "volume" options;
|
||||
KillSignal = "SIGTERM";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -139,7 +140,7 @@ in {
|
||||
systemd.services = (mapAttrs' mkVolumeService enabledVolumes) // {
|
||||
seaweedfs-master = mkIf cfg.master.enable {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
description = "SeaweedFS master";
|
||||
serviceConfig = rec {
|
||||
User = user;
|
||||
@@ -148,12 +149,13 @@ in {
|
||||
ExecStart = (mkWeedExec "master" cfg.master)
|
||||
+ " -mdir=/var/lib/${StateDirectory}";
|
||||
KillSignal = "SIGTERM";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
seaweedfs-filer = mkIf cfg.filer.enable {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ]
|
||||
after = [ "network-online.target" ]
|
||||
++ optional cfg.master.enable "seaweedfs-master.service";
|
||||
description = "SeaweedFS filer";
|
||||
serviceConfig = rec {
|
||||
@@ -163,12 +165,13 @@ in {
|
||||
StateDirectory = "seaweedfs/filer";
|
||||
ExecStart = mkWeedExec "filer" cfg.filer;
|
||||
KillSignal = "SIGTERM";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
seaweedfs-webdav = mkIf cfg.webdav.enable {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ]
|
||||
after = [ "network-online.target" ]
|
||||
++ optional cfg.filer.enable "seaweedfs-filer.service";
|
||||
description = "SeaweedFS webdav";
|
||||
serviceConfig = {
|
||||
@@ -176,6 +179,7 @@ in {
|
||||
Group = group;
|
||||
ExecStart = mkWeedExec "webdav" cfg.webdav;
|
||||
KillSignal = "SIGTERM";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user