nixos/oci-containers: Remove dep on system.path
This commit is contained in:
parent
683f0b8938
commit
ede24160fc
|
@ -227,29 +227,30 @@ let
|
||||||
${cfg.backend} load -i ${container.imageFile}
|
${cfg.backend} load -i ${container.imageFile}
|
||||||
''}
|
''}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
script = concatStringsSep " \\\n " ([
|
||||||
|
"exec ${cfg.backend} run"
|
||||||
|
"--rm"
|
||||||
|
"--name=${escapeShellArg name}"
|
||||||
|
"--log-driver=${container.log-driver}"
|
||||||
|
] ++ optional (container.entrypoint != null)
|
||||||
|
"--entrypoint=${escapeShellArg container.entrypoint}"
|
||||||
|
++ (mapAttrsToList (k: v: "-e ${escapeShellArg k}=${escapeShellArg v}") container.environment)
|
||||||
|
++ map (p: "-p ${escapeShellArg p}") container.ports
|
||||||
|
++ optional (container.user != null) "-u ${escapeShellArg container.user}"
|
||||||
|
++ map (v: "-v ${escapeShellArg v}") container.volumes
|
||||||
|
++ optional (container.workdir != null) "-w ${escapeShellArg container.workdir}"
|
||||||
|
++ map escapeShellArg container.extraOptions
|
||||||
|
++ [container.image]
|
||||||
|
++ map escapeShellArg container.cmd
|
||||||
|
);
|
||||||
|
|
||||||
|
preStop = "[ $SERVICE_RESULT = success ] || ${cfg.backend} stop ${name}";
|
||||||
postStop = "${cfg.backend} rm -f ${name} || true";
|
postStop = "${cfg.backend} rm -f ${name} || true";
|
||||||
|
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
StandardOutput = "null";
|
StandardOutput = "null";
|
||||||
StandardError = "null";
|
StandardError = "null";
|
||||||
ExecStart = concatStringsSep " \\\n " ([
|
|
||||||
"${config.system.path}/bin/${cfg.backend} run"
|
|
||||||
"--rm"
|
|
||||||
"--name=${name}"
|
|
||||||
"--log-driver=${container.log-driver}"
|
|
||||||
] ++ optional (container.entrypoint != null)
|
|
||||||
"--entrypoint=${escapeShellArg container.entrypoint}"
|
|
||||||
++ (mapAttrsToList (k: v: "-e ${escapeShellArg k}=${escapeShellArg v}") container.environment)
|
|
||||||
++ map (p: "-p ${escapeShellArg p}") container.ports
|
|
||||||
++ optional (container.user != null) "-u ${escapeShellArg container.user}"
|
|
||||||
++ map (v: "-v ${escapeShellArg v}") container.volumes
|
|
||||||
++ optional (container.workdir != null) "-w ${escapeShellArg container.workdir}"
|
|
||||||
++ map escapeShellArg container.extraOptions
|
|
||||||
++ [container.image]
|
|
||||||
++ map escapeShellArg container.cmd
|
|
||||||
);
|
|
||||||
|
|
||||||
ExecStop = ''${pkgs.bash}/bin/sh -c "[ $SERVICE_RESULT = success ] || ${cfg.backend} stop ${name}"'';
|
|
||||||
|
|
||||||
### There is no generalized way of supporting `reload` for docker
|
### There is no generalized way of supporting `reload` for docker
|
||||||
### containers. Some containers may respond well to SIGHUP sent to their
|
### containers. Some containers may respond well to SIGHUP sent to their
|
||||||
|
|
Loading…
Reference in a new issue