prysm-pulse/shared/params/io_config.go
Cipio f6af79f415
Fix file permission checks for Windows (#8164)
* Does bitwise compare for MKDIR

* Implemented a more global solution to windows permission issues

* Remove unneeded line I added earlier.

Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
2021-01-04 22:48:42 +00:00

36 lines
946 B
Go

package params
import (
"os"
"runtime"
"time"
)
// IoConfig defines the shared io parameters.
type IoConfig struct {
ReadWritePermissions os.FileMode
ReadWriteExecutePermissions os.FileMode
BoltTimeout time.Duration
}
var defaultIoConfig = &IoConfig{
ReadWritePermissions: 0600, //-rw------- Read and Write permissions for user
ReadWriteExecutePermissions: 0700, //-rwx------ Read Write and Execute (traverse) permissions for user
BoltTimeout: 1 * time.Second, // 1 second for the bolt DB to timeout.
}
var defaultWindowsIoConfig = &IoConfig{
ReadWritePermissions: 0666,
ReadWriteExecutePermissions: 0777,
BoltTimeout: 1 * time.Second,
}
// BeaconIoConfig returns the current io config for
// the beacon chain.
func BeaconIoConfig() *IoConfig {
if runtime.GOOS == "windows" {
return defaultWindowsIoConfig
}
return defaultIoConfig
}