11package helpers
22
33import (
4+ "os"
45 "os/exec"
56 "strings"
67
@@ -13,7 +14,7 @@ const (
1314 k3dBin = "k3d"
1415)
1516
16- func NewK3dServer (cfg * integration.BackendConfig ) (kubeConfig string , cl func () error , err error ) {
17+ func NewK3dServer (cfg * integration.BackendConfig , dockerAddress string ) (kubeConfig string , cl func () error , err error ) {
1718 if _ , err := exec .LookPath (k3dBin ); err != nil {
1819 return "" , nil , errors .Wrapf (err , "failed to lookup %s binary" , k3dBin )
1920 }
@@ -28,18 +29,34 @@ func NewK3dServer(cfg *integration.BackendConfig) (kubeConfig string, cl func()
2829 }
2930 }()
3031
31- clusterName := "buildkit -" + identity .NewID ()
32+ clusterName := "bk -" + identity .NewID ()
3233
33- stop , err := integration . StartCmd ( exec .Command (k3dBin , "cluster" , "create" , clusterName ,
34+ cmd := exec .Command (k3dBin , "cluster" , "create" , clusterName ,
3435 "--wait" ,
35- ), cfg .Logs )
36+ )
37+ cmd .Env = append (
38+ os .Environ (),
39+ "DOCKER_CONTEXT=" + dockerAddress ,
40+ )
41+ out , err := cmd .CombinedOutput ()
3642 if err != nil {
37- return "" , nil , err
43+ return "" , nil , errors . Wrapf ( err , "failed to create k3d cluster %s: %s" , clusterName , string ( out ))
3844 }
39- deferF .Append (stop )
45+ deferF .Append (func () error {
46+ cmd := exec .Command (k3dBin , "cluster" , "delete" , clusterName )
47+ out , err := cmd .CombinedOutput ()
48+ if err != nil {
49+ return errors .Wrapf (err , "failed to delete k3d cluster %s: %s" , clusterName , string (out ))
50+ }
51+ return nil
52+ })
4053
41- cmd := exec .Command (k3dBin , "kubeconfig" , "write" , clusterName )
42- out , err := cmd .CombinedOutput ()
54+ cmd = exec .Command (k3dBin , "kubeconfig" , "write" , clusterName )
55+ cmd .Env = append (
56+ os .Environ (),
57+ "DOCKER_CONTEXT=" + dockerAddress ,
58+ )
59+ out , err = cmd .CombinedOutput ()
4360 if err != nil {
4461 return "" , nil , errors .Wrapf (err , "failed to write kubeconfig for cluster %s: %s" , clusterName , string (out ))
4562 }
0 commit comments