diff --git a/percona-xtradb-cluster-5.7/Dockerfile b/percona-xtradb-cluster-5.7/Dockerfile index 08334f2e0..379183e8d 100644 --- a/percona-xtradb-cluster-5.7/Dockerfile +++ b/percona-xtradb-cluster-5.7/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.19 AS go_builder +FROM golang:1.21 AS go_builder WORKDIR /go/src/github.com/percona/percona-xtradb-cluster-operator/src RUN export GO111MODULE=off; \ @@ -10,12 +10,20 @@ FROM redhat/ubi8-minimal LABEL org.opencontainers.image.authors="info@percona.com" -ENV PXB_VERSION 2.4.28-1 -ENV PXC_VERSION 5.7.43-31.65.1 +ENV PXB_VERSION 2.4.29-1 +ENV PXC_VERSION 5.7.44-31.65.1 ENV PXC_REPO release ENV OS_VER el8 ENV FULL_PERCONA_XTRABACKUP_VERSION "$PXB_VERSION.$OS_VER" ENV FULL_PERCONA_XTRADBCLUSTER_VERSION "$PXC_VERSION.$OS_VER" +ENV PXC_TELEMETRY_VERSION 5.7.44-31.65-1 + +# Do not report during Docker image creation. +# Note that doing so, would create telemetry config file +# which would prevent reporting when new container is started. +# If we want to track Docker image creation as well, +# remove telemetry config file after installing packages! +ARG PERCONA_TELEMETRY_DISABLE=1 # check repository package signature in secure way RUN set -ex; \ @@ -63,8 +71,13 @@ RUN set -ex; \ qpress \ krb5-libs \ cracklib-dicts \ + libatomic \ tar; \ - microdnf update systemd-libs; \ + microdnf update \ + curl \ + glibc \ + libnghttp2 \ + python3; \ microdnf clean all; \ rm -rf /var/cache/dnf /var/cache/yum @@ -130,6 +143,12 @@ RUN if [[ -n $DEBUG ]] ; then \ rm -rf /var/cache/dnf /var/cache/yum; \ fi +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 mysql:mysql /usr/local/percona +ENV CALL_HOME_OPTIONAL_PARAMS=" -s ${OS_VER}" + USER 1001 VOLUME ["/var/lib/mysql", "/var/log/mysql"] diff --git a/percona-xtradb-cluster-5.7/Dockerfile.k8s b/percona-xtradb-cluster-5.7/Dockerfile.k8s index 2ca8edc8a..3aa73b893 100644 --- a/percona-xtradb-cluster-5.7/Dockerfile.k8s +++ b/percona-xtradb-cluster-5.7/Dockerfile.k8s @@ -1,4 +1,4 @@ -FROM golang:1.19 AS go_builder +FROM golang:1.21 AS go_builder WORKDIR /go/src/github.com/percona/percona-xtradb-cluster-operator/src RUN export GO111MODULE=off; \ @@ -22,14 +22,22 @@ LABEL org.opencontainers.image.description="Percona XtraDB Cluster is a high ava helps enterprises avoid downtime and outages and meet expected customer experience." LABEL org.opencontainers.image.license="GPL" -ENV PXB_VERSION 2.4.28-1 -ENV PXC_VERSION 5.7.42-31.65.1 +ENV PXB_VERSION 2.4.29-1 +ENV PXC_VERSION 5.7.44-31.65.1 ENV PXC_REPO release ENV OS_VER el8 ENV FULL_PERCONA_XTRABACKUP_VERSION "$PXB_VERSION.$OS_VER" ENV FULL_PERCONA_XTRADBCLUSTER_VERSION "$PXC_VERSION.$OS_VER" LABEL org.label-schema.schema-version=${PXC_VERSION} LABEL org.opencontainers.image.version=${PXC_VERSION} +ENV PXC_TELEMETRY_VERSION 5.7.44-31.65-1 + +# Do not report during Docker image creation. +# Note that doing so, would create telemetry config file +# which would prevent reporting when new container is started. +# If we want to track Docker image creation as well, +# remove telemetry config file after installing packages! +ARG PERCONA_TELEMETRY_DISABLE=1 # check repository package signature in secure way RUN set -ex; \ @@ -79,8 +87,13 @@ RUN set -ex; \ qpress \ krb5-libs \ cracklib-dicts \ + libatomic \ tar; \ - microdnf update systemd-libs; \ + microdnf update \ + curl \ + glibc \ + libnghttp2 \ + python3; \ microdnf clean all; \ rm -rf /var/cache/dnf /var/cache/yum @@ -146,6 +159,12 @@ RUN if [[ -n $DEBUG ]] ; then \ rm -rf /var/cache/dnf /var/cache/yum; \ fi +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 mysql:mysql /usr/local/percona +ENV CALL_HOME_OPTIONAL_PARAMS=" -s ${OS_VER}" + USER 1001 VOLUME ["/var/lib/mysql", "/var/log/mysql"] diff --git a/percona-xtradb-cluster-5.7/dockerdir/entrypoint.sh b/percona-xtradb-cluster-5.7/dockerdir/entrypoint.sh index ecf13a4e0..fc1cf7326 100755 --- a/percona-xtradb-cluster-5.7/dockerdir/entrypoint.sh +++ b/percona-xtradb-cluster-5.7/dockerdir/entrypoint.sh @@ -381,4 +381,27 @@ if [ "$1" = 'mysqld' -a -z "$wantHelp" ]; then fi fi +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_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 + +# PERCONA_TELEMETRY_DISABLE is handled at the very beginning of call-home.sh +/call-home.sh -f "PRODUCT_FAMILY_PXC" -v "${PXC_TELEMETRY_VERSION}" -d "DOCKER" ${CALL_HOME_OPTIONAL_PARAMS} &> /dev/null || : + exec "$@" $wsrep_start_position_opt