From 80de87ac34d7721ea0c137766599935169a96d62 Mon Sep 17 00:00:00 2001 From: mmetc <92726601+mmetc@users.noreply.github.com> Date: Wed, 22 Mar 2023 11:57:29 +0100 Subject: [PATCH] Report docker systems in version and user agents (#2136) --- Dockerfile | 2 +- Dockerfile.debian | 2 +- Makefile | 4 ++++ docker/test/tests/test_version.py | 18 ++++++++++++++++++ 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 docker/test/tests/test_version.py diff --git a/Dockerfile b/Dockerfile index 573d69f94..fb5e8b196 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ COPY . . # wizard.sh requires GNU coreutils RUN apk add --no-cache git gcc libc-dev make bash gettext binutils-gold coreutils && \ echo "githubciXXXXXXXXXXXXXXXXXXXXXXXX" > /etc/machine-id && \ - make clean release && \ + make clean release DOCKER_BUILD=1 && \ cd crowdsec-v* && \ ./wizard.sh --docker-mode && \ cd - >/dev/null && \ diff --git a/Dockerfile.debian b/Dockerfile.debian index a12176b33..8333d40fe 100644 --- a/Dockerfile.debian +++ b/Dockerfile.debian @@ -14,7 +14,7 @@ ENV DEBCONF_NOWARNINGS="yes" RUN apt-get update && \ apt-get install -y -q git gcc libc-dev make bash gettext binutils-gold coreutils tzdata && \ echo "githubciXXXXXXXXXXXXXXXXXXXXXXXX" > /etc/machine-id && \ - make clean release && \ + make clean release DOCKER_BUILD=1 && \ cd crowdsec-v* && \ ./wizard.sh --docker-mode && \ cd - >/dev/null && \ diff --git a/Makefile b/Makefile index ac94a8c46..daf2074b5 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,10 @@ LD_OPTS_VARS= \ -X '$(GO_MODULE_NAME)/pkg/csconfig.defaultConfigDir=$(DEFAULT_CONFIGDIR)' \ -X '$(GO_MODULE_NAME)/pkg/csconfig.defaultDataDir=$(DEFAULT_DATADIR)' +ifneq (,$(DOCKER_BUILD)) +LD_OPTS_VARS += -X '$(GO_MODULE_NAME)/pkg/cwversion.System=docker' +endif + ifdef BUILD_STATIC export LD_OPTS=-ldflags "-s -w $(LD_OPTS_VARS) -extldflags '-static'" -tags netgo,osusergo,sqlite_omit_load_extension else diff --git a/docker/test/tests/test_version.py b/docker/test/tests/test_version.py new file mode 100644 index 000000000..c152d2e4e --- /dev/null +++ b/docker/test/tests/test_version.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python + +import pytest + +pytestmark = pytest.mark.docker + + +def test_version_docker_platform(crowdsec, flavor): + with crowdsec(flavor=flavor) as cs: + for waiter in cs.log_waiters(): + with waiter as matcher: + matcher.fnmatch_lines(["*Starting processing data*"]) + res = cs.cont.exec_run('cscli version') + assert res.exit_code == 0 + assert 'Platform: docker' in res.output.decode() + res = cs.cont.exec_run('crowdsec -version') + assert res.exit_code == 0 + assert 'Platform: docker' in res.output.decode()