diff --git a/plugins/common/common.go b/plugins/common/common.go index 308aafd10..933631a89 100644 --- a/plugins/common/common.go +++ b/plugins/common/common.go @@ -69,6 +69,12 @@ func (sc *ShellCmd) Output() ([]byte, error) { return sc.Command.Output() } +// AppRoot returns the app root path +func AppRoot(appName string) string { + dokkuRoot := MustGetEnv("DOKKU_ROOT") + return fmt.Sprintf("%v/%v", dokkuRoot, appName) +} + // GetDeployingAppImageName returns deploying image identifier for a given app, tag tuple. validate if tag is presented func GetDeployingAppImageName(appName, imageTag, imageRepo string) (imageName string) { if appName == "" { diff --git a/plugins/network/network.go b/plugins/network/network.go index a34e8c5c8..0ae0bff53 100644 --- a/plugins/network/network.go +++ b/plugins/network/network.go @@ -32,7 +32,7 @@ func BuildConfig(appName string) { if !common.IsDeployed(appName) { return } - appRoot := strings.Join([]string{common.MustGetEnv("DOKKU_ROOT"), appName}, "/") + appRoot := common.AppRoot(appName) scaleFile := strings.Join([]string{appRoot, "DOKKU_SCALE"}, "/") if !common.FileExists(scaleFile) { return @@ -166,8 +166,7 @@ func GetDefaultValue(property string) (value string) { // GetListeners returns a string array of app listeners func GetListeners(appName string) []string { - dokkuRoot := common.MustGetEnv("DOKKU_ROOT") - appRoot := strings.Join([]string{dokkuRoot, appName}, "/") + appRoot := common.AppRoot(appName) files, _ := filepath.Glob(appRoot + "/IP.web.*") @@ -183,7 +182,7 @@ func GetListeners(appName string) []string { // HasNetworkConfig returns whether the network configuration for a given app exists func HasNetworkConfig(appName string) bool { - appRoot := strings.Join([]string{common.MustGetEnv("DOKKU_ROOT"), appName}, "/") + appRoot := common.AppRoot(appName) ipfile := fmt.Sprintf("%v/IP.web.1", appRoot) portfile := fmt.Sprintf("%v/PORT.web.1", appRoot) @@ -192,8 +191,7 @@ func HasNetworkConfig(appName string) bool { // ClearNetworkConfig removes old IP and PORT files for a newly cloned app func ClearNetworkConfig(appName string) bool { - dokkuRoot := common.MustGetEnv("DOKKU_ROOT") - appRoot := strings.Join([]string{dokkuRoot, appName}, "/") + appRoot := common.AppRoot(appName) success := true ipFiles, _ := filepath.Glob(appRoot + "/IP.*") diff --git a/plugins/network/triggers.go b/plugins/network/triggers.go index cdb3d7164..1ce32368d 100644 --- a/plugins/network/triggers.go +++ b/plugins/network/triggers.go @@ -112,7 +112,7 @@ func TriggerNetworkWriteIpaddr(appName string, processType string, containerInde common.LogFail(err.Error()) } - appRoot := strings.Join([]string{common.MustGetEnv("DOKKU_ROOT"), appName}, "/") + appRoot := common.AppRoot(appName) filename := fmt.Sprintf("%v/IP.%v.%v", appRoot, processType, containerIndex) f, err := os.Create(filename) if err != nil { @@ -137,7 +137,7 @@ func TriggerNetworkWritePort(appName string, processType string, containerIndex common.LogFail(err.Error()) } - appRoot := strings.Join([]string{common.MustGetEnv("DOKKU_ROOT"), appName}, "/") + appRoot := common.AppRoot(appName) filename := fmt.Sprintf("%v/PORT.%v.%v", appRoot, processType, containerIndex) f, err := os.Create(filename) if err != nil { diff --git a/plugins/repo/subcommands.go b/plugins/repo/subcommands.go index 238c0b8fc..ab61e4102 100644 --- a/plugins/repo/subcommands.go +++ b/plugins/repo/subcommands.go @@ -2,7 +2,6 @@ package repo import ( "errors" - "strings" "github.com/dokku/dokku/plugins/common" ) @@ -17,7 +16,7 @@ func CommandGc(appName string) error { return err } - appRoot := strings.Join([]string{common.MustGetEnv("DOKKU_ROOT"), appName}, "/") + appRoot := common.AppRoot(appName) cmdEnv := map[string]string{ "GIT_DIR": appRoot, }