From 8bf7a0e1d66f2f7bb1bb62de3059f59726595c98 Mon Sep 17 00:00:00 2001 From: Henry Dollman Date: Sat, 19 Oct 2024 16:33:33 -0400 Subject: [PATCH] add DOCKER_TIMEOUT env var --- beszel/internal/agent/docker.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/beszel/internal/agent/docker.go b/beszel/internal/agent/docker.go index 306cfc2..2c3d819 100644 --- a/beszel/internal/agent/docker.go +++ b/beszel/internal/agent/docker.go @@ -217,9 +217,20 @@ func newDockerManager() *dockerManager { os.Exit(1) } + // configurable timeout + timeout := time.Millisecond * 2100 + if t, set := os.LookupEnv("DOCKER_TIMEOUT"); set { + timeout, err = time.ParseDuration(t) + if err != nil { + slog.Error(err.Error()) + os.Exit(1) + } + slog.Info("DOCKER_TIMEOUT", "timeout", timeout) + } + dockerClient := &dockerManager{ client: &http.Client{ - Timeout: time.Second * 8, + Timeout: timeout, Transport: transport, }, containerStatsMap: make(map[string]*container.Stats), @@ -246,7 +257,6 @@ func newDockerManager() *dockerManager { // if version > 24, one-shot works correctly and we can limit concurrent operations if dockerVersion, err := semver.Parse(versionInfo.Version); err == nil && dockerVersion.Major > 24 { concurrency = 5 - dockerClient.client.Timeout = time.Millisecond * 1100 } slog.Debug("Docker", "version", versionInfo.Version, "concurrency", concurrency)