From 8ffc1204f3ac5b7fef208e6ea41bb524f00fa141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20de=20la=20Pe=C3=B1a?= Date: Wed, 17 Feb 2021 08:44:58 +0100 Subject: [PATCH 1/5] fix: support selecting the platform in docker-compose --- cli/config/compose/services/elastic-agent/docker-compose.yml | 1 + cli/config/compose/services/metricbeat/docker-compose.yml | 1 + e2e/_suites/fleet/stand-alone.go | 1 + e2e/_suites/metricbeat/metricbeat_test.go | 1 + 4 files changed, 4 insertions(+) diff --git a/cli/config/compose/services/elastic-agent/docker-compose.yml b/cli/config/compose/services/elastic-agent/docker-compose.yml index 3adeffe94f..72ce9d7463 100644 --- a/cli/config/compose/services/elastic-agent/docker-compose.yml +++ b/cli/config/compose/services/elastic-agent/docker-compose.yml @@ -10,5 +10,6 @@ services: condition: service_healthy environment: - "KIBANA_HOST=http://${kibanaHost:-kibana}:${kibanaPort:-5601}" + platform: ${elasticAgentPlatform:linux/amd64} volumes: - "${elasticAgentConfigFile}:/usr/share/elastic-agent/elastic-agent.yml" diff --git a/cli/config/compose/services/metricbeat/docker-compose.yml b/cli/config/compose/services/metricbeat/docker-compose.yml index 1d8a3365c7..4c220be34f 100644 --- a/cli/config/compose/services/metricbeat/docker-compose.yml +++ b/cli/config/compose/services/metricbeat/docker-compose.yml @@ -17,5 +17,6 @@ services: image: "docker.elastic.co/${metricbeatDockerNamespace:-beats}/metricbeat:${metricbeatTag:-8.0.0-SNAPSHOT}" labels: co.elastic.logs/module: "${serviceName}" + platform: ${metricbeatPlatform:linux/amd64} volumes: - "${metricbeatConfigFile}:/usr/share/metricbeat/metricbeat.yml" diff --git a/e2e/_suites/fleet/stand-alone.go b/e2e/_suites/fleet/stand-alone.go index 08475eb336..bb7e1ae7d8 100644 --- a/e2e/_suites/fleet/stand-alone.go +++ b/e2e/_suites/fleet/stand-alone.go @@ -95,6 +95,7 @@ func (sats *StandAloneTestSuite) aStandaloneAgentIsDeployed(image string) error profileEnv["elasticAgentContainerName"] = containerName profileEnv["elasticAgentConfigFile"] = sats.AgentConfigFilePath + profileEnv["elasticAgentPlatform"] = "linux/amd64" profileEnv["elasticAgentTag"] = agentVersion err = serviceManager.AddServicesToCompose(FleetProfileName, []string{ElasticAgentServiceName}, profileEnv) diff --git a/e2e/_suites/metricbeat/metricbeat_test.go b/e2e/_suites/metricbeat/metricbeat_test.go index 72572d7bc4..e55358f03b 100644 --- a/e2e/_suites/metricbeat/metricbeat_test.go +++ b/e2e/_suites/metricbeat/metricbeat_test.go @@ -359,6 +359,7 @@ func (mts *MetricbeatTestSuite) runMetricbeatService() error { } env["metricbeatDockerNamespace"] = e2e.GetDockerNamespaceEnvVar() + env["metricbeatPlatform"] = "linux/amd64" err := serviceManager.AddServicesToCompose("metricbeat", []string{"metricbeat"}, env) if err != nil { From 92ff43eaa64fef504c16c05c2e857891036db5cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20de=20la=20Pe=C3=B1a?= Date: Wed, 17 Feb 2021 09:51:22 +0100 Subject: [PATCH 2/5] fix: wrong interpolation format --- cli/config/compose/services/elastic-agent/docker-compose.yml | 2 +- cli/config/compose/services/metricbeat/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/config/compose/services/elastic-agent/docker-compose.yml b/cli/config/compose/services/elastic-agent/docker-compose.yml index 72ce9d7463..e7d3cc78db 100644 --- a/cli/config/compose/services/elastic-agent/docker-compose.yml +++ b/cli/config/compose/services/elastic-agent/docker-compose.yml @@ -10,6 +10,6 @@ services: condition: service_healthy environment: - "KIBANA_HOST=http://${kibanaHost:-kibana}:${kibanaPort:-5601}" - platform: ${elasticAgentPlatform:linux/amd64} + platform: ${elasticAgentPlatform:-linux/amd64} volumes: - "${elasticAgentConfigFile}:/usr/share/elastic-agent/elastic-agent.yml" diff --git a/cli/config/compose/services/metricbeat/docker-compose.yml b/cli/config/compose/services/metricbeat/docker-compose.yml index 4c220be34f..283adcb1d0 100644 --- a/cli/config/compose/services/metricbeat/docker-compose.yml +++ b/cli/config/compose/services/metricbeat/docker-compose.yml @@ -17,6 +17,6 @@ services: image: "docker.elastic.co/${metricbeatDockerNamespace:-beats}/metricbeat:${metricbeatTag:-8.0.0-SNAPSHOT}" labels: co.elastic.logs/module: "${serviceName}" - platform: ${metricbeatPlatform:linux/amd64} + platform: ${metricbeatPlatform:-linux/amd64} volumes: - "${metricbeatConfigFile}:/usr/share/metricbeat/metricbeat.yml" From f6415798a19c4ba7c6c61cad71bf3d2a773ed133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20de=20la=20Pe=C3=B1a?= Date: Wed, 17 Feb 2021 10:11:23 +0100 Subject: [PATCH 3/5] fix: use a docker-compose version for platform --- cli/config/compose/services/elastic-agent/docker-compose.yml | 2 +- cli/config/compose/services/metricbeat/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/config/compose/services/elastic-agent/docker-compose.yml b/cli/config/compose/services/elastic-agent/docker-compose.yml index e7d3cc78db..c2a8c0d3e2 100644 --- a/cli/config/compose/services/elastic-agent/docker-compose.yml +++ b/cli/config/compose/services/elastic-agent/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: elastic-agent: image: docker.elastic.co/${elasticAgentDockerNamespace:-beats}/elastic-agent${elasticAgentDockerImageSuffix}:${elasticAgentTag:-8.0.0-SNAPSHOT} diff --git a/cli/config/compose/services/metricbeat/docker-compose.yml b/cli/config/compose/services/metricbeat/docker-compose.yml index 283adcb1d0..2ae9b403ab 100644 --- a/cli/config/compose/services/metricbeat/docker-compose.yml +++ b/cli/config/compose/services/metricbeat/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: metricbeat: command: [ From c25acf10e6435105ec4aeb8cbc8f42939f982caf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20de=20la=20Pe=C3=B1a?= Date: Wed, 17 Feb 2021 10:23:14 +0100 Subject: [PATCH 4/5] chore: bump all compose files to 2.4 --- cli/config/compose/profiles/fleet/docker-compose.yml | 2 +- cli/config/compose/profiles/metricbeat/docker-compose.yml | 2 +- cli/config/compose/services/apm-server/docker-compose.yml | 2 +- cli/config/compose/services/centos-systemd/docker-compose.yml | 2 +- cli/config/compose/services/centos/docker-compose.yml | 2 +- cli/config/compose/services/debian-systemd/docker-compose.yml | 2 +- cli/config/compose/services/debian/docker-compose.yml | 2 +- cli/config/compose/services/elasticsearch/docker-compose.yml | 2 +- cli/config/compose/services/kibana/docker-compose.yml | 2 +- cli/config/compose/services/opbeans-go/docker-compose.yml | 2 +- cli/config/compose/services/opbeans-java/docker-compose.yml | 2 +- cli/config/compose/services/vsphere/docker-compose.yml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/cli/config/compose/profiles/fleet/docker-compose.yml b/cli/config/compose/profiles/fleet/docker-compose.yml index ce627f1b87..9c16aff54a 100644 --- a/cli/config/compose/profiles/fleet/docker-compose.yml +++ b/cli/config/compose/profiles/fleet/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: elasticsearch: healthcheck: diff --git a/cli/config/compose/profiles/metricbeat/docker-compose.yml b/cli/config/compose/profiles/metricbeat/docker-compose.yml index 4aeda9a80e..3a0fd76f6c 100644 --- a/cli/config/compose/profiles/metricbeat/docker-compose.yml +++ b/cli/config/compose/profiles/metricbeat/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: elasticsearch: environment: diff --git a/cli/config/compose/services/apm-server/docker-compose.yml b/cli/config/compose/services/apm-server/docker-compose.yml index 5effd40b98..804d2bbf62 100644 --- a/cli/config/compose/services/apm-server/docker-compose.yml +++ b/cli/config/compose/services/apm-server/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: apm-server: environment: diff --git a/cli/config/compose/services/centos-systemd/docker-compose.yml b/cli/config/compose/services/centos-systemd/docker-compose.yml index 22509d5857..1d3b77d01a 100644 --- a/cli/config/compose/services/centos-systemd/docker-compose.yml +++ b/cli/config/compose/services/centos-systemd/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: centos-systemd: image: centos/systemd:${centos_systemdTag:-latest} diff --git a/cli/config/compose/services/centos/docker-compose.yml b/cli/config/compose/services/centos/docker-compose.yml index d6996c3e17..88e76e0751 100644 --- a/cli/config/compose/services/centos/docker-compose.yml +++ b/cli/config/compose/services/centos/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: centos: image: centos:${centosTag:-7} diff --git a/cli/config/compose/services/debian-systemd/docker-compose.yml b/cli/config/compose/services/debian-systemd/docker-compose.yml index 0e839e7673..b6d15cd1b1 100644 --- a/cli/config/compose/services/debian-systemd/docker-compose.yml +++ b/cli/config/compose/services/debian-systemd/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: debian-systemd: image: alehaa/debian-systemd:${debian_systemdTag:-stretch} diff --git a/cli/config/compose/services/debian/docker-compose.yml b/cli/config/compose/services/debian/docker-compose.yml index 506becd57e..0aa23e816c 100644 --- a/cli/config/compose/services/debian/docker-compose.yml +++ b/cli/config/compose/services/debian/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: debian: image: debian:${debianTag:-9} diff --git a/cli/config/compose/services/elasticsearch/docker-compose.yml b/cli/config/compose/services/elasticsearch/docker-compose.yml index 8b26a1d2ae..d3dda9ed9f 100644 --- a/cli/config/compose/services/elasticsearch/docker-compose.yml +++ b/cli/config/compose/services/elasticsearch/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: elasticsearch: environment: diff --git a/cli/config/compose/services/kibana/docker-compose.yml b/cli/config/compose/services/kibana/docker-compose.yml index baa10ff1ec..def1880e90 100644 --- a/cli/config/compose/services/kibana/docker-compose.yml +++ b/cli/config/compose/services/kibana/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: kibana: environment: diff --git a/cli/config/compose/services/opbeans-go/docker-compose.yml b/cli/config/compose/services/opbeans-go/docker-compose.yml index 44f9f3da8b..a9d75a027a 100644 --- a/cli/config/compose/services/opbeans-go/docker-compose.yml +++ b/cli/config/compose/services/opbeans-go/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: opbeans-go: environment: diff --git a/cli/config/compose/services/opbeans-java/docker-compose.yml b/cli/config/compose/services/opbeans-java/docker-compose.yml index e34330536b..6372731ec8 100644 --- a/cli/config/compose/services/opbeans-java/docker-compose.yml +++ b/cli/config/compose/services/opbeans-java/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: opbeans-java: environment: diff --git a/cli/config/compose/services/vsphere/docker-compose.yml b/cli/config/compose/services/vsphere/docker-compose.yml index e7f9ba0fdb..92b3a3809f 100644 --- a/cli/config/compose/services/vsphere/docker-compose.yml +++ b/cli/config/compose/services/vsphere/docker-compose.yml @@ -1,4 +1,4 @@ -version: '2.3' +version: '2.4' services: vsphere: image: "nimmis/vcsim:${VSPHERE_VERSION}" From ebcdb92ee063ddc017f65b518413dd7b4a1ce361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20de=20la=20Pe=C3=B1a?= Date: Wed, 17 Feb 2021 10:25:36 +0100 Subject: [PATCH 5/5] chore: sanitise Beats compose files to enforce 2.4 compose version --- cli/cmd/sync.go | 3 +++ cli/cmd/sync_test.go | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cli/cmd/sync.go b/cli/cmd/sync.go index 3383af7ff0..a423df0da7 100644 --- a/cli/cmd/sync.go +++ b/cli/cmd/sync.go @@ -221,6 +221,9 @@ func sanitizeComposeFile(composeFilePath string, targetFilePath string) error { return err } + // sets version to 2.4 for testing purpose + c.Version = "2.4" + for k, srv := range c.Services { // we'll copy all fields but the excluded ones in this struct output := make(map[string]service) diff --git a/cli/cmd/sync_test.go b/cli/cmd/sync_test.go index 66006da5a1..e44eee27c0 100644 --- a/cli/cmd/sync_test.go +++ b/cli/cmd/sync_test.go @@ -32,7 +32,7 @@ func TestSanitizeComposeFile_Multiple(t *testing.T) { err = yaml.Unmarshal(bytes, &c) assert.Nil(t, err) - assert.Equal(t, c.Version, "2.3") + assert.Equal(t, c.Version, "2.4") assert.Equal(t, len(c.Services), 2) // we know that both services have different number of ports @@ -77,6 +77,6 @@ func TestSanitizeComposeFile_Single(t *testing.T) { err = yaml.Unmarshal(bytes, &c) assert.Nil(t, err) - assert.Equal(t, c.Version, "2.3") + assert.Equal(t, c.Version, "2.4") assert.Equal(t, len(c.Services), 1) }