github.com/ddev/ddev@v1.23.2-0.20240519125000-d824ffe36ff3/pkg/ddevapp/performance_mode.go (about) 1 package ddevapp 2 3 import ( 4 "github.com/ddev/ddev/pkg/config/types" 5 "github.com/ddev/ddev/pkg/globalconfig" 6 ) 7 8 // GetPerformanceMode returns performance mode config respecting defaults. 9 func (app *DdevApp) GetPerformanceMode() types.PerformanceMode { 10 switch app.PerformanceMode { 11 case types.PerformanceModeEmpty, types.PerformanceModeGlobal: 12 return globalconfig.DdevGlobalConfig.GetPerformanceMode() 13 default: 14 return app.PerformanceMode 15 } 16 } 17 18 // SetPerformanceMode sets the performance mode config. 19 func (app *DdevApp) SetPerformanceMode(performanceMode string) *DdevApp { 20 if types.IsValidPerformanceMode(performanceMode, types.ConfigTypeProject) { 21 app.PerformanceMode = performanceMode 22 } 23 24 return app 25 } 26 27 // IsNFSMountEnabled determines whether NFS is enabled. 28 func (app *DdevApp) IsNFSMountEnabled() bool { 29 return !app.IsMutagenEnabled() && app.GetPerformanceMode() == types.PerformanceModeNFS 30 }