From 24a2fb97fa777f28c3d5ada190132f1be42e6352 Mon Sep 17 00:00:00 2001 From: xuyang Date: Thu, 11 Apr 2024 21:57:58 +0800 Subject: [PATCH] fix mount dir --- config/config.go | 87 ++++++++++++++++++++------------------ utils/hardware/hardware.go | 14 +++--- 2 files changed, 54 insertions(+), 47 deletions(-) diff --git a/config/config.go b/config/config.go index 6215991..8a20a44 100644 --- a/config/config.go +++ b/config/config.go @@ -440,11 +440,57 @@ func init() { Config.Version = v if !v { modifyConfigWhenRunInDocker() + mountPath := hardware_util.GetMountDir() + if mountPath != "" { + JoinMountPathInConfigPath(mountPath) + } createLogFileDir() writeDefaultConfigFile(*flagConfFile) } } +func JoinMountPathInConfigPath(mountPath string) { + p := []*string{ + &Config.Log.AoLogDirBase, + &Config.Log.Path, + &Config.Box.CpuIdStoreFile, + &Config.Box.SnNumberStoreFile, + &Config.Box.HostIpFile, + &Config.Box.ApplyEmailStoreFile, + &Config.Box.BoxInfoFile, + &Config.Box.InternetServiceConfigFile, + + &Config.Box.SwithStatusFile, + &Config.Box.WifiNamePasswdFile, + &Config.Box.BoxMetaAdminPair, + &Config.Box.RandDockercomposePassword, + &Config.Box.RandDockercomposeRedisPort, + + &Config.Box.PublicSharedInfoFile, + &Config.Box.BoxKey.RsaKeyFile, + &Config.Box.BoxKey.RsaPubKeyFile, + &Config.Box.Disk.DiskInitialInfoFile, + &Config.Box.Disk.DeviceUuidRecordFile, + &Config.Box.Disk.DiskSharedInfoFile, + &Config.Box.ClientKey.RsaPubKeyFile, + &Config.Box.ClientKey.RsaPriKeyFile, + &Config.Box.ClientKey.SharedSecret, + &Config.Box.UpgradeConfig.SettingsFile, + &Config.Box.Cert.CertDir, + &Config.Docker.ComposeFile, + &Config.Docker.CustomComposeFile, + &Config.RunTime.BasePath, + &Config.Notification.UpgradeRecordFile, + &Config.Box.Disk.StorageVolumePath, + &Config.Box.Disk.NoDisksFileStoragePath, + &Config.Box.Disk.NoDisksFileStoragePathDockerDeploy, + &Config.GTClient.ConfigPath, + &Config.Box.DID.RootPath} + for _, v := range p { + *v = mountPath + *v + } +} + func modifyConfigWhenRunInDocker() { // fmt.Printf("+++++++++++++++++++++++ modifyConfigWhenRunInDocker \n") //////////////////////////////////////////////////////////// @@ -453,46 +499,7 @@ func modifyConfigWhenRunInDocker() { // 修改保存路径。 // 新增路径的配置项时,如果docker 中运行时, 需要在这里修改默认路径 !!! if runInDocker { - p := []*string{ - &Config.Log.AoLogDirBase, - &Config.Log.Path, - &Config.Box.CpuIdStoreFile, - &Config.Box.SnNumberStoreFile, - &Config.Box.HostIpFile, - &Config.Box.ApplyEmailStoreFile, - &Config.Box.BoxInfoFile, - &Config.Box.InternetServiceConfigFile, - - &Config.Box.SwithStatusFile, - &Config.Box.WifiNamePasswdFile, - &Config.Box.BoxMetaAdminPair, - &Config.Box.RandDockercomposePassword, - &Config.Box.RandDockercomposeRedisPort, - - &Config.Box.PublicSharedInfoFile, - &Config.Box.BoxKey.RsaKeyFile, - &Config.Box.BoxKey.RsaPubKeyFile, - &Config.Box.Disk.DiskInitialInfoFile, - &Config.Box.Disk.DeviceUuidRecordFile, - &Config.Box.Disk.DiskSharedInfoFile, - &Config.Box.ClientKey.RsaPubKeyFile, - &Config.Box.ClientKey.RsaPriKeyFile, - &Config.Box.ClientKey.SharedSecret, - &Config.Box.UpgradeConfig.SettingsFile, - &Config.Box.Cert.CertDir, - &Config.Docker.ComposeFile, - &Config.Docker.CustomComposeFile, - &Config.RunTime.BasePath, - &Config.Notification.UpgradeRecordFile, - &Config.Box.Disk.StorageVolumePath, - &Config.Box.Disk.NoDisksFileStoragePath, - &Config.Box.Disk.NoDisksFileStoragePathDockerDeploy, - &Config.GTClient.ConfigPath, - &Config.Box.DID.RootPath} - - for _, v := range p { - *v = SpaceMountPath + *v - } + // fmt.Printf("Config.Box.SnNumberStoreFile: %v \n", Config.Box.SnNumberStoreFile) // 调用地址修改 diff --git a/utils/hardware/hardware.go b/utils/hardware/hardware.go index 3efd378..9153a1b 100644 --- a/utils/hardware/hardware.go +++ b/utils/hardware/hardware.go @@ -56,13 +56,13 @@ func GetHardwareChip() (string, error) { // RunningInDocker is program running in container ? func RunningInDocker() bool { // 由于其他方法在某些 OS 上有失效的可能性,暂时用用户传入的环境变量来判断。 - envkey := "AOSPACE_DATADIR" - dataDir := os.Getenv(envkey) - if len(dataDir) > 0 { - // fmt.Printf("RunningInDocker, dataDir:%v\n", dataDir) - return true - } else { - // fmt.Printf("RunningInDocker==false, dataDir:%v\n", dataDir) + _, err := os.Stat("/root/.dockerenv") + if err != nil { return false } + return true +} + +func GetMountDir() string { + return os.Getenv("AOSPACE_DATADIR") }