@@ -29,6 +29,7 @@ import (
29
29
"github.com/docker/machine/libmachine/drivers"
30
30
"github.com/docker/machine/libmachine/ssh"
31
31
"github.com/spf13/cobra"
32
+ "k8s.io/minikube/pkg/drivers/kic/oci"
32
33
"k8s.io/minikube/pkg/minikube/command"
33
34
"k8s.io/minikube/pkg/minikube/constants"
34
35
"k8s.io/minikube/pkg/minikube/driver"
@@ -39,9 +40,27 @@ import (
39
40
"k8s.io/minikube/pkg/minikube/shell"
40
41
)
41
42
42
- var podmanEnv1Tmpl = fmt .Sprintf ("{{ .Prefix }}%s{{ .Delimiter }}{{ .VarlinkBridge }}{{ .Suffix }}{{ .Prefix }}%s{{ .Delimiter }}{{ .MinikubePodmanProfile }}{{ .Suffix }}{{ .UsageHint }}" , constants .PodmanVarlinkBridgeEnv , constants .MinikubeActivePodmanEnv )
43
-
44
- var podmanEnv2Tmpl = fmt .Sprintf ("{{ .Prefix }}%s{{ .Delimiter }}{{ .ContainerHost }}{{ .Suffix }}{{ if .ContainerSSHKey }}{{ .Prefix }}%s{{ .Delimiter }}{{ .ContainerSSHKey}}{{ .Suffix }}{{ end }}{{ .Prefix }}%s{{ .Delimiter }}{{ .MinikubePodmanProfile }}{{ .Suffix }}{{ .UsageHint }}" , constants .PodmanContainerHostEnv , constants .PodmanContainerSSHKeyEnv , constants .MinikubeActivePodmanEnv )
43
+ var podmanEnv1Tmpl = fmt .Sprintf (
44
+ "{{ .Prefix }}%s{{ .Delimiter }}{{ .VarlinkBridge }}{{ .Suffix }}" +
45
+ "{{ .Prefix }}%s{{ .Delimiter }}{{ .MinikubePodmanProfile }}{{ .Suffix }}" +
46
+ "{{ .UsageHint }}" ,
47
+ constants .PodmanVarlinkBridgeEnv ,
48
+ constants .MinikubeActivePodmanEnv )
49
+
50
+ var podmanEnv2Tmpl = fmt .Sprintf (
51
+ "{{ .Prefix }}%s{{ .Delimiter }}{{ .ContainerHost }}{{ .Suffix }}" +
52
+ "{{ if .ContainerSSHKey }}" +
53
+ "{{ .Prefix }}%s{{ .Delimiter }}{{ .ContainerSSHKey}}{{ .Suffix }}" +
54
+ "{{ end }}" +
55
+ "{{ if .ExistingContainerHost }}" +
56
+ "{{ .Prefix }}%s{{ .Delimiter }}{{ .ExistingContainerHost }}{{ .Suffix }}" +
57
+ "{{ end }}" +
58
+ "{{ .Prefix }}%s{{ .Delimiter }}{{ .MinikubePodmanProfile }}{{ .Suffix }}" +
59
+ "{{ .UsageHint }}" ,
60
+ constants .PodmanContainerHostEnv ,
61
+ constants .PodmanContainerSSHKeyEnv ,
62
+ constants .ExistingContainerHostEnv ,
63
+ constants .MinikubeActivePodmanEnv )
45
64
46
65
// PodmanShellConfig represents the shell config for Podman
47
66
type PodmanShellConfig struct {
@@ -50,6 +69,8 @@ type PodmanShellConfig struct {
50
69
ContainerHost string
51
70
ContainerSSHKey string
52
71
MinikubePodmanProfile string
72
+
73
+ ExistingContainerHost string
53
74
}
54
75
55
76
var podmanUnset bool
@@ -65,6 +86,9 @@ func podmanShellCfgSet(ec PodmanEnvConfig, envMap map[string]string) *PodmanShel
65
86
s .VarlinkBridge = envMap [constants .PodmanVarlinkBridgeEnv ]
66
87
s .ContainerHost = envMap [constants .PodmanContainerHostEnv ]
67
88
s .ContainerSSHKey = envMap [constants .PodmanContainerSSHKeyEnv ]
89
+
90
+ s .ExistingContainerHost = envMap [constants .ExistingContainerHostEnv ]
91
+
68
92
s .MinikubePodmanProfile = envMap [constants .MinikubeActivePodmanEnv ]
69
93
70
94
return s
@@ -259,6 +283,13 @@ func podmanEnvVars(ec PodmanEnvConfig) map[string]string {
259
283
for k , v := range env0 {
260
284
env [k ] = v
261
285
}
286
+ if os .Getenv (constants .MinikubeActivePodmanEnv ) == "" {
287
+ e := constants .PodmanContainerHostEnv
288
+ if v := oci .InitialEnv (e ); v != "" {
289
+ key := constants .ExistingContainerHostEnv
290
+ env [key ] = v
291
+ }
292
+ }
262
293
return env
263
294
}
264
295
0 commit comments