From 8fe9127cc5f30c78d5f91e87254f447c2b1438d1 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Mon, 13 Mar 2023 12:22:12 -0400 Subject: [PATCH 1/3] Remove ansi codes from compose up/down output --- internal/compose/compose.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/compose/compose.go b/internal/compose/compose.go index a97a501123..0059d61b20 100644 --- a/internal/compose/compose.go +++ b/internal/compose/compose.go @@ -185,7 +185,9 @@ func NewProject(name string, paths ...string) (*Project, error) { // Up brings up a Docker Compose project. func (p *Project) Up(opts CommandOptions) error { args := p.baseArgs() + args = append(args, "--ansi", "never") args = append(args, "up") + args = append(args, "--quiet-pull") args = append(args, opts.ExtraArgs...) args = append(args, opts.Services...) @@ -199,6 +201,7 @@ func (p *Project) Up(opts CommandOptions) error { // Down tears down a Docker Compose project. func (p *Project) Down(opts CommandOptions) error { args := p.baseArgs() + args = append(args, "--ansi", "never") args = append(args, "down") args = append(args, opts.ExtraArgs...) From 85d618997e9a48490b2a4553da6e501c9fcf83d0 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Mon, 13 Mar 2023 12:35:13 -0400 Subject: [PATCH 2/3] Add environment variable --- .buildkite/pipeline.yml | 1 + internal/compose/compose.go | 21 ++++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 315fe470bd..469b58d7e2 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,6 +1,7 @@ env: SETUP_GVM_VERSION: 'v0.5.0' # https://github.com/andrewkroh/gvm/issues/44#issuecomment-1013231151 DOCKER_COMPOSE_VERSION: "1.25.5" # "v2.15.1" + ELASTIC_PACKAGE_COMPOSE_DISABLE_ANSI: "true" KIND_VERSION: 'v0.17.0' K8S_VERSION: 'v1.26.0' diff --git a/internal/compose/compose.go b/internal/compose/compose.go index 0059d61b20..3cc45c2b92 100644 --- a/internal/compose/compose.go +++ b/internal/compose/compose.go @@ -19,6 +19,7 @@ import ( "gopkg.in/yaml.v3" "github.com/elastic/elastic-package/internal/docker" + "github.com/elastic/elastic-package/internal/environment" "github.com/elastic/elastic-package/internal/logger" "github.com/elastic/elastic-package/internal/signal" ) @@ -30,12 +31,15 @@ const ( waitForHealthyInterval = 1 * time.Second ) +var DisableANSIComposeEnv = environment.WithElasticPackagePrefix("COMPOSE_DISABLE_ANSI") + // Project represents a Docker Compose project. type Project struct { name string composeFilePaths []string dockerComposeV1 bool + disableANSI bool } // Config represents a Docker Compose configuration file. @@ -169,6 +173,11 @@ func NewProject(name string, paths ...string) (*Project, error) { c.name = name c.composeFilePaths = paths + v, ok := os.LookupEnv(DisableANSIComposeEnv) + if ok && strings.ToLower(v) != "false" { + c.disableANSI = true + } + ver, err := c.dockerComposeVersion() if err != nil { logger.Errorf("Unable to determine Docker Compose version: %v. Defaulting to 1.x", err) @@ -185,9 +194,13 @@ func NewProject(name string, paths ...string) (*Project, error) { // Up brings up a Docker Compose project. func (p *Project) Up(opts CommandOptions) error { args := p.baseArgs() - args = append(args, "--ansi", "never") + if p.disableANSI { + args = append(args, "--ansi", "never") + } args = append(args, "up") - args = append(args, "--quiet-pull") + if p.disableANSI { + args = append(args, "--quiet-pull") + } args = append(args, opts.ExtraArgs...) args = append(args, opts.Services...) @@ -201,7 +214,9 @@ func (p *Project) Up(opts CommandOptions) error { // Down tears down a Docker Compose project. func (p *Project) Down(opts CommandOptions) error { args := p.baseArgs() - args = append(args, "--ansi", "never") + if p.disableANSI { + args = append(args, "--ansi", "never") + } args = append(args, "down") args = append(args, opts.ExtraArgs...) From c64df01171ba453dd6ff535b216a04c98245b536 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Mon, 13 Mar 2023 13:22:41 -0400 Subject: [PATCH 3/3] Don't remove ansi in v1 --- internal/compose/compose.go | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/internal/compose/compose.go b/internal/compose/compose.go index 3cc45c2b92..99a07a497d 100644 --- a/internal/compose/compose.go +++ b/internal/compose/compose.go @@ -173,11 +173,6 @@ func NewProject(name string, paths ...string) (*Project, error) { c.name = name c.composeFilePaths = paths - v, ok := os.LookupEnv(DisableANSIComposeEnv) - if ok && strings.ToLower(v) != "false" { - c.disableANSI = true - } - ver, err := c.dockerComposeVersion() if err != nil { logger.Errorf("Unable to determine Docker Compose version: %v. Defaulting to 1.x", err) @@ -188,15 +183,18 @@ func NewProject(name string, paths ...string) (*Project, error) { logger.Debugf("Determined Docker Compose version: %v, the tool will use Compose V1", ver) c.dockerComposeV1 = true } + + v, ok := os.LookupEnv(DisableANSIComposeEnv) + if !c.dockerComposeV1 && ok && strings.ToLower(v) != "false" { + c.disableANSI = true + } + return &c, nil } // Up brings up a Docker Compose project. func (p *Project) Up(opts CommandOptions) error { args := p.baseArgs() - if p.disableANSI { - args = append(args, "--ansi", "never") - } args = append(args, "up") if p.disableANSI { args = append(args, "--quiet-pull") @@ -214,9 +212,6 @@ func (p *Project) Up(opts CommandOptions) error { // Down tears down a Docker Compose project. func (p *Project) Down(opts CommandOptions) error { args := p.baseArgs() - if p.disableANSI { - args = append(args, "--ansi", "never") - } args = append(args, "down") args = append(args, opts.ExtraArgs...) @@ -382,6 +377,10 @@ func (p *Project) baseArgs() []string { args = append(args, "-f", path) } + if p.disableANSI { + args = append(args, "--ansi", "never") + } + args = append(args, "-p", p.name) return args }