fix: do not insert log max-size when log-driver is set at daemon-level

Closes #4519
This commit is contained in:
Jose Diaz-Gonzalez
2021-04-16 01:54:44 -04:00
parent be01d2f7ec
commit 4cccaebac5
2 changed files with 72 additions and 0 deletions

View File

@@ -10,6 +10,8 @@ import (
"github.com/dokku/dokku/plugins/common"
dockeroptions "github.com/dokku/dokku/plugins/docker-options"
sh "github.com/codeskyblue/go-sh"
)
// TriggerDockerArgsProcessDeploy outputs the logs plugin docker options for an app
@@ -30,11 +32,13 @@ func TriggerDockerArgsProcessDeploy(appName string) error {
return err
}
hasDriverOpt := false
for _, option := range options {
if !strings.HasPrefix(option, "--log-driver=") {
continue
}
hasDriverOpt = true
logDriver := strings.TrimPrefix(option, "--log-driver=")
if !allowedDrivers[logDriver] {
ignoreMaxSize = true
@@ -42,6 +46,14 @@ func TriggerDockerArgsProcessDeploy(appName string) error {
break
}
if !hasDriverOpt {
b, _ := sh.Command(common.DockerBin(), "system", "info", "--format", "{{ .LoggingDriver }}").Output()
output := strings.TrimSpace(string(b[:]))
if !allowedDrivers[output] {
ignoreMaxSize = true
}
}
if !ignoreMaxSize {
maxSize := common.PropertyGet("logs", appName, "max-size")
if maxSize == "" {