Skip to content

Commit 8107e71

Browse files
committed
add nerdctl/finch support
Change-Id: I238214041e56d17dee8e15e58cd416300c506f44
1 parent 891607f commit 8107e71

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

pkg/container/container.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,21 @@ func podmanIsAvailable() bool {
3232
return false
3333
}
3434
return strings.HasPrefix(lines[0], "podman version")
35+
}
3536

37+
func nerdctlIsAvailable() bool {
38+
cmd := kindexec.Command("nerdctl", "-v")
39+
lines, err := kindexec.OutputLines(cmd)
40+
if err != nil || len(lines) != 1 {
41+
// check finch
42+
cmd = kindexec.Command("finch", "-v")
43+
lines, err = kindexec.OutputLines(cmd)
44+
if err != nil || len(lines) != 1 {
45+
return false
46+
}
47+
return strings.HasPrefix(lines[0], "finch version")
48+
}
49+
return strings.HasPrefix(lines[0], "nerdctl version")
3650
}
3751

3852
func init() {
@@ -41,6 +55,15 @@ func init() {
4155
}
4256
if podmanIsAvailable() {
4357
containerRuntime = "podman"
58+
return
59+
}
60+
if nerdctlIsAvailable() {
61+
containerRuntime = "nerdctl"
62+
if _, err := exec.LookPath("nerdctl"); err != nil {
63+
if _, err := exec.LookPath("finch"); err == nil {
64+
containerRuntime = "finch"
65+
}
66+
}
4467
}
4568
}
4669

0 commit comments

Comments
 (0)