From ac57d407b89216320f32ceb45f4f4456cf971d89 Mon Sep 17 00:00:00 2001 From: Sandra Date: Mon, 22 Jan 2024 18:21:40 +0200 Subject: [PATCH] PSMDB-1362. Add call home.sh script to PSMDB docker image --- percona-server-mongodb-4.2/Dockerfile | 9 +++++++ percona-server-mongodb-4.2/Dockerfile.debug | 9 +++++++ percona-server-mongodb-4.2/Dockerfile.k8s | 9 +++++++ percona-server-mongodb-4.2/Dockerfile.ubi8 | 9 +++++++ percona-server-mongodb-4.2/ps-entry.sh | 30 ++++++++++++++++++++- 5 files changed, 65 insertions(+), 1 deletion(-) diff --git a/percona-server-mongodb-4.2/Dockerfile b/percona-server-mongodb-4.2/Dockerfile index 7c0c142c8..96da3ac00 100644 --- a/percona-server-mongodb-4.2/Dockerfile +++ b/percona-server-mongodb-4.2/Dockerfile @@ -8,6 +8,9 @@ ENV FULL_PERCONA_VERSION "$PSMDB_VERSION.$OS_VER" ENV K8S_TOOLS_VERSION "0.5.0" ENV PSMDB_REPO release +# Do not report during Docker image creation. +ARG PERCONA_TELEMETRY_DISABLE=1 + # check repository package signature in secure way RUN set -ex; \ export GNUPGHOME="$(mktemp -d)"; \ @@ -78,6 +81,12 @@ RUN set -ex; \ rm -f /tmp/SHA256SUMS; \ chmod 0755 /usr/local/bin/k8s-mongodb-initiator /usr/local/bin/mongodb-healthcheck +ADD https://raw.githubusercontent.com/Percona-Lab/telemetry-agent/phase-0/call-home.sh /call-home.sh +RUN chmod a+rx call-home.sh +RUN mkdir -p /usr/local/percona +RUN chown 1001:1001 /usr/local/percona +ENV CALL_HOME_OPTIONAL_PARAMS=" -s ${OS_VER}" + VOLUME ["/data/db"] COPY ps-entry.sh /entrypoint.sh diff --git a/percona-server-mongodb-4.2/Dockerfile.debug b/percona-server-mongodb-4.2/Dockerfile.debug index f6639515e..bad7eb503 100644 --- a/percona-server-mongodb-4.2/Dockerfile.debug +++ b/percona-server-mongodb-4.2/Dockerfile.debug @@ -21,6 +21,9 @@ LABEL org.opencontainers.image.authors="info@percona.com" LABEL org.label-schema.schema-version=${PSMDB_VERSION} LABEL org.opencontainers.image.version=${PSMDB_VERSION} +# Do not report during Docker image creation. +ARG PERCONA_TELEMETRY_DISABLE=1 + USER 0 RUN set -ex; \ @@ -41,6 +44,12 @@ RUN set -ex; \ dnf clean all; \ rm -rf /var/cache/dnf /var/cache/yum +ADD https://raw.githubusercontent.com/Percona-Lab/telemetry-agent/phase-0/call-home.sh /call-home.sh +RUN chmod a+rx call-home.sh +RUN mkdir -p /usr/local/percona +RUN chown 1001:1001 /usr/local/percona +ENV CALL_HOME_OPTIONAL_PARAMS=" -s ${OS_VER}" + VOLUME ["/data/db"] ENTRYPOINT ["/entrypoint.sh"] diff --git a/percona-server-mongodb-4.2/Dockerfile.k8s b/percona-server-mongodb-4.2/Dockerfile.k8s index 5564d5a87..7495e9442 100644 --- a/percona-server-mongodb-4.2/Dockerfile.k8s +++ b/percona-server-mongodb-4.2/Dockerfile.k8s @@ -25,6 +25,9 @@ ENV K8S_TOOLS_VERSION "0.5.0" LABEL org.label-schema.schema-version=${PSMDB_VERSION} LABEL org.opencontainers.image.version=${PSMDB_VERSION} +# Do not report during Docker image creation. +ARG PERCONA_TELEMETRY_DISABLE=1 + # check repository package signature in secure way RUN set -ex; \ export GNUPGHOME="$(mktemp -d)"; \ @@ -103,6 +106,12 @@ RUN set -ex; \ rm -f /tmp/SHA256SUMS; \ chmod 0755 /usr/local/bin/k8s-mongodb-initiator /usr/local/bin/mongodb-healthcheck +ADD https://raw.githubusercontent.com/Percona-Lab/telemetry-agent/phase-0/call-home.sh /call-home.sh +RUN chmod a+rx call-home.sh +RUN mkdir -p /usr/local/percona +RUN chown 1001:1001 /usr/local/percona +ENV CALL_HOME_OPTIONAL_PARAMS=" -s ${OS_VER}" + VOLUME ["/data/db"] COPY ps-entry.sh /entrypoint.sh diff --git a/percona-server-mongodb-4.2/Dockerfile.ubi8 b/percona-server-mongodb-4.2/Dockerfile.ubi8 index 0227bfd06..b33eb72d8 100644 --- a/percona-server-mongodb-4.2/Dockerfile.ubi8 +++ b/percona-server-mongodb-4.2/Dockerfile.ubi8 @@ -7,6 +7,9 @@ ENV OS_VER el8 ENV FULL_PERCONA_VERSION "$PSMDB_VERSION.$OS_VER" ENV K8S_TOOLS_VERSION "0.5.0" +# Do not report during Docker image creation. +ARG PERCONA_TELEMETRY_DISABLE=1 + # check repository package signature in secure way RUN set -ex; \ export GNUPGHOME="$(mktemp -d)"; \ @@ -85,6 +88,12 @@ RUN set -ex; \ rm -f /tmp/SHA256SUMS; \ chmod 0755 /usr/local/bin/k8s-mongodb-initiator /usr/local/bin/mongodb-healthcheck +ADD https://raw.githubusercontent.com/Percona-Lab/telemetry-agent/phase-0/call-home.sh /call-home.sh +RUN chmod a+rx call-home.sh +RUN mkdir -p /usr/local/percona +RUN chown 1001:1001 /usr/local/percona +ENV CALL_HOME_OPTIONAL_PARAMS=" -s ${OS_VER}" + VOLUME ["/data/db"] COPY ps-entry.sh /entrypoint.sh diff --git a/percona-server-mongodb-4.2/ps-entry.sh b/percona-server-mongodb-4.2/ps-entry.sh index a3ec16d42..4626083b3 100755 --- a/percona-server-mongodb-4.2/ps-entry.sh +++ b/percona-server-mongodb-4.2/ps-entry.sh @@ -460,5 +460,33 @@ fi rm -f "$jsonConfigFile" "$tempConfigFile" -set -o xtrace +set -o xtrace +u + +# PERCONA_TELEMETRY_DISABLE is handled at the very beginning of call-home.sh +if [ ! -z "${PERCONA_INSTANCE_ID}" ]; then + CALL_HOME_OPTIONAL_PARAMS+=" -i ${PERCONA_INSTANCE_ID}" +fi + +if [ ! -z "${PERCONA_TELEMETRY_CONFIG_FILE_PATH}" ]; then + CALL_HOME_OPTIONAL_PARAMS+=" -j ${PERCONA_TELEMETRY_CONFIG_FILE_PATH}" +fi + +if [ ! -z "${PERCONA_TELEMETRY_URL}" ]; then + CALL_HOME_OPTIONAL_PARAMS+=" -u ${PERCONA_TELEMETRY_URL}" +fi + +if [ ! -z "${PERCONA_SEND_TIMEOUT}" ]; then + CALL_HOME_OPTIONAL_PARAMS+=" -t ${PERCONA_SEND_TIMEOUT}" +else + CALL_HOME_OPTIONAL_PARAMS+=" -t 7" +fi + +if [ ! -z "${PERCONA_CONNECT_TIMEOUT}" ]; then + CALL_HOME_OPTIONAL_PARAMS+=" -c ${PERCONA_CONNECT_TIMEOUT}" +else + CALL_HOME_OPTIONAL_PARAMS+=" -c 2" +fi + +/call-home.sh -f "PRODUCT_FAMILY_PSMDB" -v "${PSMDB_VERSION}" -d "DOCKER" ${CALL_HOME_OPTIONAL_PARAMS} &> /dev/null || : + exec "$@"