Make symlinks work
This commit is contained in:
parent
bf3165a706
commit
cbde799457
3 changed files with 30 additions and 6 deletions
|
@ -7,13 +7,36 @@ job "example" {
|
|||
driver = "exec2"
|
||||
|
||||
config {
|
||||
command = "/nix/store/y41s1vcn0irn9ahn9wh62yx2cygs7qjj-coreutils-8.32/bin/cat"
|
||||
args = ["/host-etc/nscd.conf"]
|
||||
bind_read_only = {
|
||||
command = "/sw/bin/nix"
|
||||
args = [
|
||||
"--extra-experimental-features", "flakes",
|
||||
"--extra-experimental-features", "nix-command",
|
||||
"run",
|
||||
"github:NixOS/nixpkgs#hello"
|
||||
]
|
||||
bind = {
|
||||
"/nix" = "/nix",
|
||||
"/etc" = "/host-etc",
|
||||
}
|
||||
}
|
||||
}
|
||||
bind_read_only = {
|
||||
"/etc" = "/etc",
|
||||
"/home/lx/.nix-profile" = "/sw",
|
||||
}
|
||||
}
|
||||
user = "lx"
|
||||
}
|
||||
|
||||
task "test" {
|
||||
driver = "exec2"
|
||||
|
||||
config {
|
||||
command = "/nix/store/30j23057fqnnc1p4jqmq73p0gxgn0frq-bash-5.1-p16/bin/sh"
|
||||
args = ["-c", "/nix/store/y41s1vcn0irn9ahn9wh62yx2cygs7qjj-coreutils-8.32/bin/ls /*; /nix/store/y41s1vcn0irn9ahn9wh62yx2cygs7qjj-coreutils-8.32/bin/id"]
|
||||
bind_read_only = {
|
||||
"/etc" = "/etc",
|
||||
"/nix" = "/nix",
|
||||
}
|
||||
}
|
||||
user = "lx"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -434,7 +434,7 @@ func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *drive
|
|||
|
||||
user := cfg.User
|
||||
if user == "" {
|
||||
user = "nobody"
|
||||
user = "0"
|
||||
}
|
||||
|
||||
if cfg.DNS != nil {
|
||||
|
|
|
@ -7,6 +7,7 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/fs"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path"
|
||||
|
@ -913,7 +914,7 @@ func filepathIsRegular(path string) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !f.Mode().Type().IsRegular() {
|
||||
if !(f.Mode().Type().IsRegular() || f.Mode().Type() & fs.ModeType == fs.ModeSymlink) {
|
||||
return fmt.Errorf("path was not a regular file")
|
||||
}
|
||||
return nil
|
||||
|
|
Loading…
Reference in a new issue