diff options
Diffstat (limited to 'Omni/Deploy/Systemd.hs')
| -rw-r--r-- | Omni/Deploy/Systemd.hs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Omni/Deploy/Systemd.hs b/Omni/Deploy/Systemd.hs index b47776a..8c6d416 100644 --- a/Omni/Deploy/Systemd.hs +++ b/Omni/Deploy/Systemd.hs @@ -31,7 +31,7 @@ import System.FilePath ((</>)) import qualified System.Process as Process servicesDir :: FilePath -servicesDir = "/var/lib/biz-deployer/services" +servicesDir = "/var/lib/deployer/services" generateUnit :: Service -> Text generateUnit Service {..} = @@ -60,9 +60,14 @@ generateUnit Service {..} = "Restart=" <> systemdRestart serviceSystemd, "RestartSec=" <> tshow (systemdRestartSec serviceSystemd) ] + ++ workingDirLine ++ envLines ++ envFileLine + workingDirLine = case execWorkingDirectory serviceExec of + Nothing -> [] + Just dir -> ["WorkingDirectory=" <> dir] + envLines = Map.toList serviceEnv |> map (\(k, v) -> "Environment=\"" <> k <> "=" <> v <> "\"") @@ -193,7 +198,7 @@ mkTestService name path = { serviceName = name, serviceArtifact = Artifact "nix-closure" path, serviceHosts = ["biz"], - serviceExec = Exec Nothing "root" "root", + serviceExec = Exec Nothing "root" "root" Nothing, serviceEnv = mempty, serviceEnvFile = Nothing, serviceHttp = Nothing, @@ -230,7 +235,7 @@ test_generateUnitWithCustomExec = Test.unit "generates unit with custom exec" <| do let svc = (mkTestService "custom-exec" "/nix/store/abc") - { serviceExec = Exec (Just "my-binary") "www-data" "www-data" + { serviceExec = Exec (Just "my-binary") "www-data" "www-data" Nothing } unit = generateUnit svc Text.isInfixOf "ExecStart=/nix/store/abc/bin/my-binary" unit Test.@=? True |
