Skip to content

Commit 7ff8f41

Browse files
committed
check value pf CRC_HOME_DIR environment variable while setting base directory
1 parent b379594 commit 7ff8f41

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

pkg/crc/constants/constants.go

+14-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ const (
2020
DefaultSSHUser = "core"
2121
DefaultSSHPort = 22
2222

23-
CrcEnvPrefix = "CRC"
23+
CrcEnvPrefix = "CRC"
24+
CrcHomeDirEnvKey = "CRC_HOME_DIR"
2425

2526
ConfigFile = "crc.json"
2627
LogFile = "crc.log"
@@ -103,7 +104,7 @@ func GetDefaultBundle(preset crcpreset.Preset) string {
103104
}
104105

105106
var (
106-
CrcBaseDir = filepath.Join(GetHomeDir(), ".crc")
107+
CrcBaseDir = getBaseDir(filepath.Join(GetHomeDir(), ".crc"))
107108
CrcBinDir = filepath.Join(CrcBaseDir, "bin")
108109
CrcOcBinDir = filepath.Join(CrcBinDir, "oc")
109110
CrcPodmanBinDir = filepath.Join(CrcBinDir, "podman")
@@ -119,6 +120,17 @@ var (
119120
PasswdFilePath = filepath.Join(MachineInstanceDir, DefaultName, "passwd")
120121
)
121122

123+
func getBaseDir(defaultDir string) string {
124+
path := os.Getenv(CrcHomeDirEnvKey)
125+
if path == "" {
126+
return defaultDir
127+
}
128+
if _, err := os.Stat(path); err != nil {
129+
return defaultDir
130+
}
131+
return path
132+
}
133+
122134
func GetDefaultBundlePath(preset crcpreset.Preset) string {
123135
return filepath.Join(MachineCacheDir, GetDefaultBundle(preset))
124136
}

0 commit comments

Comments
 (0)