@@ -19,6 +19,7 @@ import (
1919 "gopkg.in/yaml.v3"
2020
2121 "github.com/elastic/elastic-package/internal/docker"
22+ "github.com/elastic/elastic-package/internal/environment"
2223 "github.com/elastic/elastic-package/internal/logger"
2324 "github.com/elastic/elastic-package/internal/signal"
2425)
@@ -30,12 +31,15 @@ const (
3031 waitForHealthyInterval = 1 * time .Second
3132)
3233
34+ var DisableANSIComposeEnv = environment .WithElasticPackagePrefix ("COMPOSE_DISABLE_ANSI" )
35+
3336// Project represents a Docker Compose project.
3437type Project struct {
3538 name string
3639 composeFilePaths []string
3740
3841 dockerComposeV1 bool
42+ disableANSI bool
3943}
4044
4145// Config represents a Docker Compose configuration file.
@@ -179,13 +183,22 @@ func NewProject(name string, paths ...string) (*Project, error) {
179183 logger .Debugf ("Determined Docker Compose version: %v, the tool will use Compose V1" , ver )
180184 c .dockerComposeV1 = true
181185 }
186+
187+ v , ok := os .LookupEnv (DisableANSIComposeEnv )
188+ if ! c .dockerComposeV1 && ok && strings .ToLower (v ) != "false" {
189+ c .disableANSI = true
190+ }
191+
182192 return & c , nil
183193}
184194
185195// Up brings up a Docker Compose project.
186196func (p * Project ) Up (opts CommandOptions ) error {
187197 args := p .baseArgs ()
188198 args = append (args , "up" )
199+ if p .disableANSI {
200+ args = append (args , "--quiet-pull" )
201+ }
189202 args = append (args , opts .ExtraArgs ... )
190203 args = append (args , opts .Services ... )
191204
@@ -364,6 +377,10 @@ func (p *Project) baseArgs() []string {
364377 args = append (args , "-f" , path )
365378 }
366379
380+ if p .disableANSI {
381+ args = append (args , "--ansi" , "never" )
382+ }
383+
367384 args = append (args , "-p" , p .name )
368385 return args
369386}
0 commit comments