Add flag to mark containers as created from official images in analytics. (#11606)
* Add flag to mark containers as created from official images in analytics. * Fix CI. * process NETDATA_CONTAINER_IS_OFFICIAL_IMAGE variable from system info and export to anonymous-statistics script Co-authored-by: Emmanuel Vasilakis <mrzammler@mm.st>
Austin S. Hemmelgarn committed
Oct 19, 2021 at 07:29 UTC
36a9d70880b3ced36e0f095f672927893fad23c9
5 files changed
+14
.github/workflows/docker.yml
+4
@@ -84,6 +84,9 @@ jobs:
84
if: github.event.inputs.version == 'nightly'
85
run: |
86
echo "tags=netdata/netdata:latest,netdata/netdata:edge" >> $GITHUB_ENV
87
+ - name: Mark image as official
88
+ if: github.repository == 'netdata/netdata'
89
+ run: echo "OFFICIAL_IMAGE=true" >> $GITHUB_ENV
90
- name: Setup QEMU
91
uses: docker/setup-qemu-action@v1
92
- name: Setup Buildx
@@ -99,6 +102,7 @@ jobs:
102
platforms: linux/amd64,linux/i386,linux/arm/v7,linux/arm64,linux/ppc64le
103
push: true
104
tags: ${{ env.tags }}
105
+ build-args: OFFICIAL_IMAGE=${{ env.OFFICIAL_IMAGE }}
106
- name: Failure Notification
107
uses: rtCamp/action-slack-notify@v2
108
env:
daemon/anonymous-statistics.sh.in
+1
@@ -106,6 +106,7 @@ REQ_BODY="$(cat << EOF
106
"container_os_version": "${NETDATA_CONTAINER_OS_VERSION}",
107
"container_os_version_id": "${NETDATA_CONTAINER_OS_VERSION_ID}",
108
"container_os_detection": "${NETDATA_CONTAINER_OS_DETECTION}",
109
+ "container_is_official_image": ${NETDATA_CONTAINER_IS_OFFICIAL_IMAGE},
110
"system_cpu_detection": "${NETDATA_SYSTEM_CPU_DETECTION}",
111
"system_cpu_freq": "${NETDATA_SYSTEM_CPU_FREQ}",
112
"system_cpu_logical_cpu_count": "${NETDATA_SYSTEM_CPU_LOGICAL_CPU_COUNT}",
daemon/system-info.sh
+2
@@ -12,6 +12,7 @@ ARCHITECTURE="$(uname -m)"
12
13
CONTAINER="unknown"
14
CONT_DETECTION="none"
15
+CONTAINER_IS_OFFICIAL_IMAGE="${NETDATA_OFFICIAL_IMAGE:-false}"
16
17
if [ -z "${VIRTUALIZATION}" ]; then
18
VIRTUALIZATION="unknown"
@@ -381,6 +382,7 @@ echo "NETDATA_CONTAINER_OS_ID_LIKE=${CONTAINER_ID_LIKE}"
382
echo "NETDATA_CONTAINER_OS_VERSION=${CONTAINER_VERSION}"
383
echo "NETDATA_CONTAINER_OS_VERSION_ID=${CONTAINER_VERSION_ID}"
384
echo "NETDATA_CONTAINER_OS_DETECTION=${CONTAINER_OS_DETECTION}"
385
+echo "NETDATA_CONTAINER_IS_OFFICIAL_IMAGE=${CONTAINER_IS_OFFICIAL_IMAGE}"
386
echo "NETDATA_HOST_OS_NAME=${HOST_NAME}"
387
echo "NETDATA_HOST_OS_ID=${HOST_ID}"
388
echo "NETDATA_HOST_OS_ID_LIKE=${HOST_ID_LIKE}"
database/rrdhost.c
+2
@@ -1640,6 +1640,8 @@ int rrdhost_set_system_info_variable(struct rrdhost_system_info *system_info, ch
1640
return res;
1641
else if (!strcmp(name, "NETDATA_SYSTEM_DISK_DETECTION"))
1642
return res;
1643
+ else if (!strcmp(name, "NETDATA_CONTAINER_IS_OFFICIAL_IMAGE"))
1644
+ return res;
1645
else {
1646
res = 1;
1647
}
packaging/docker/Dockerfile
+5
@@ -57,6 +57,9 @@ RUN mkdir -p /app/usr/sbin/ \
57
# hadolint ignore=DL3007
58
FROM netdata/base:latest as base
59
60
+ARG OFFICIAL_IMAGE=false
61
+ENV NETDATA_OFFICIAL_IMAGE=$OFFICIAL_IMAGE
62
+
63
# Configure system
64
ARG NETDATA_UID=201
65
ARG NETDATA_GID=201
@@ -115,3 +118,5 @@ EXPOSE $NETDATA_LISTENER_PORT
118
ENTRYPOINT ["/usr/sbin/run.sh"]
119
120
HEALTHCHECK --interval=60s --timeout=10s --retries=3 CMD /usr/sbin/health.sh
121
+
122
+ONBUILD ENV NETDATA_OFFICIAL_IMAGE=false