diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:54:23 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-07-24 09:54:44 +0000 |
commit | 836b47cb7e99a977c5a23b059ca1d0b5065d310e (patch) | |
tree | 1604da8f482d02effa033c94a84be42bc0c848c3 /fluent-bit/dockerfiles/Dockerfile | |
parent | Releasing debian version 1.44.3-2. (diff) | |
download | netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.tar.xz netdata-836b47cb7e99a977c5a23b059ca1d0b5065d310e.zip |
Merging upstream version 1.46.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'fluent-bit/dockerfiles/Dockerfile')
-rw-r--r-- | fluent-bit/dockerfiles/Dockerfile | 238 |
1 files changed, 0 insertions, 238 deletions
diff --git a/fluent-bit/dockerfiles/Dockerfile b/fluent-bit/dockerfiles/Dockerfile deleted file mode 100644 index bc0c06c55..000000000 --- a/fluent-bit/dockerfiles/Dockerfile +++ /dev/null @@ -1,238 +0,0 @@ - -# To use this container you may need to do the following: -# https://askubuntu.com/a/1369504 -# sudo add-apt-repository ppa:jacob/virtualisation #(for Ubuntu 20.04) -# sudo apt-get update && sudo apt-get install qemu qemu-user qemu-user-static -# https://stackoverflow.com/a/60667468 -# docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -# docker buildx rm builder -# docker buildx create --name builder --use -# docker buildx inspect --bootstrap -# docker buildx build --platform "linux/amd64,linux/arm64,linux/arm/v7" -f ./dockerfiles/Dockerfile.multiarch --build-arg FLB_TARBALL=https://github.com/fluent/fluent-bit/archive/v1.8.11.tar.gz ./dockerfiles/ - -# Set this to the current release version: it gets done so as part of the release. -ARG RELEASE_VERSION=2.1.10 - -# For multi-arch builds - assumption is running on an AMD64 host -FROM multiarch/qemu-user-static:x86_64-arm as qemu-arm32 -FROM multiarch/qemu-user-static:x86_64-aarch64 as qemu-arm64 - -FROM debian:bullseye-slim as builder-base - -COPY --from=qemu-arm32 /usr/bin/qemu-arm-static /usr/bin/ -COPY --from=qemu-arm64 /usr/bin/qemu-aarch64-static /usr/bin/ - -ARG FLB_NIGHTLY_BUILD -ENV FLB_NIGHTLY_BUILD=$FLB_NIGHTLY_BUILD - -ARG FLB_CHUNK_TRACE=On -ENV FLB_CHUNK_TRACE=${FLB_CHUNK_TRACE} - -RUN mkdir -p /fluent-bit/bin /fluent-bit/etc /fluent-bit/log - -ENV DEBIAN_FRONTEND noninteractive - -# hadolint ignore=DL3008 -RUN echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - build-essential \ - curl \ - ca-certificates \ - cmake \ - git \ - make \ - tar \ - libssl-dev \ - libsasl2-dev \ - pkg-config \ - libsystemd-dev/bullseye-backports \ - zlib1g-dev \ - libpq-dev \ - postgresql-server-dev-all \ - flex \ - bison \ - libyaml-dev \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# Must be run from root of repo -WORKDIR /src/fluent-bit/ -COPY . ./ - -# We split the builder setup out so people can target it or use as a base image without doing a full build. -FROM builder-base as builder -WORKDIR /src/fluent-bit/build/ -RUN cmake -DFLB_RELEASE=On \ - -DFLB_JEMALLOC=On \ - -DFLB_TLS=On \ - -DFLB_SHARED_LIB=Off \ - -DFLB_EXAMPLES=Off \ - -DFLB_HTTP_SERVER=On \ - -DFLB_IN_EXEC=Off \ - -DFLB_IN_SYSTEMD=On \ - -DFLB_OUT_KAFKA=On \ - -DFLB_OUT_PGSQL=On \ - -DFLB_NIGHTLY_BUILD="$FLB_NIGHTLY_BUILD" \ - -DFLB_LOG_NO_CONTROL_CHARS=On \ - -DFLB_CHUNK_TRACE="$FLB_CHUNK_TRACE" \ - .. - -RUN make -j "$(getconf _NPROCESSORS_ONLN)" -RUN install bin/fluent-bit /fluent-bit/bin/ - -# Configuration files -COPY conf/fluent-bit.conf \ - conf/parsers.conf \ - conf/parsers_ambassador.conf \ - conf/parsers_java.conf \ - conf/parsers_extra.conf \ - conf/parsers_openstack.conf \ - conf/parsers_cinder.conf \ - conf/plugins.conf \ - /fluent-bit/etc/ - -# Generate schema and include as part of the container image -RUN /fluent-bit/bin/fluent-bit -J > /fluent-bit/etc/schema.json - -# Simple example of how to properly extract packages for reuse in distroless -# Taken from: https://github.com/GoogleContainerTools/distroless/issues/863 -FROM debian:bullseye-slim as deb-extractor -COPY --from=qemu-arm32 /usr/bin/qemu-arm-static /usr/bin/ -COPY --from=qemu-arm64 /usr/bin/qemu-aarch64-static /usr/bin/ - -# We download all debs locally then extract them into a directory we can use as the root for distroless. -# We also include some extra handling for the status files that some tooling uses for scanning, etc. -WORKDIR /tmp -SHELL ["/bin/bash", "-o", "pipefail", "-c"] -RUN echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list && \ - apt-get update && \ - apt-get download \ - libssl1.1 \ - libsasl2-2 \ - pkg-config \ - libpq5 \ - libsystemd0/bullseye-backports \ - zlib1g \ - ca-certificates \ - libatomic1 \ - libgcrypt20 \ - libzstd1 \ - liblz4-1 \ - libgssapi-krb5-2 \ - libldap-2.4-2 \ - libgpg-error0 \ - libkrb5-3 \ - libk5crypto3 \ - libcom-err2 \ - libkrb5support0 \ - libgnutls30 \ - libkeyutils1 \ - libp11-kit0 \ - libidn2-0 \ - libunistring2 \ - libtasn1-6 \ - libnettle8 \ - libhogweed6 \ - libgmp10 \ - libffi7 \ - liblzma5 \ - libyaml-0-2 && \ - mkdir -p /dpkg/var/lib/dpkg/status.d/ && \ - for deb in *.deb; do \ - package_name=$(dpkg-deb -I "${deb}" | awk '/^ Package: .*$/ {print $2}'); \ - echo "Processing: ${package_name}"; \ - dpkg --ctrl-tarfile "$deb" | tar -Oxf - ./control > "/dpkg/var/lib/dpkg/status.d/${package_name}"; \ - dpkg --extract "$deb" /dpkg || exit 10; \ - done - -# Remove unnecessary files extracted from deb packages like man pages and docs etc. -RUN find /dpkg/ -type d -empty -delete && \ - rm -r /dpkg/usr/share/doc/ - -# We want latest at time of build -# hadolint ignore=DL3006 -FROM gcr.io/distroless/cc-debian11 as production -ARG RELEASE_VERSION -ENV FLUENT_BIT_VERSION=${RELEASE_VERSION} -LABEL description="Fluent Bit multi-architecture container image" \ - vendor="Fluent Organization" \ - version="${RELEASE_VERSION}" \ - author="Eduardo Silva <eduardo@calyptia.com>" \ - org.opencontainers.image.description="Fluent Bit container image" \ - org.opencontainers.image.title="Fluent Bit" \ - org.opencontainers.image.licenses="Apache-2.0" \ - org.opencontainers.image.vendor="Fluent Organization" \ - org.opencontainers.image.version="${RELEASE_VERSION}" \ - org.opencontainers.image.source="https://github.com/fluent/fluent-bit" \ - org.opencontainers.image.documentation="https://docs.fluentbit.io/" \ - org.opencontainers.image.authors="Eduardo Silva <eduardo@calyptia.com>" - -# Copy the libraries from the extractor stage into root -COPY --from=deb-extractor /dpkg / - -# Copy certificates -COPY --from=builder /etc/ssl/certs /etc/ssl/certs - -# Finally the binaries as most likely to change -COPY --from=builder /fluent-bit /fluent-bit - -EXPOSE 2020 - -# Entry point -ENTRYPOINT [ "/fluent-bit/bin/fluent-bit" ] -CMD ["/fluent-bit/bin/fluent-bit", "-c", "/fluent-bit/etc/fluent-bit.conf"] - -FROM debian:bullseye-slim as debug -ARG RELEASE_VERSION -ENV FLUENT_BIT_VERSION=${RELEASE_VERSION} -LABEL description="Fluent Bit multi-architecture debug container image" \ - vendor="Fluent Organization" \ - version="${RELEASE_VERSION}-debug" \ - author="Eduardo Silva <eduardo@calyptia.com>" \ - org.opencontainers.image.description="Fluent Bit debug container image" \ - org.opencontainers.image.title="Fluent Bit Debug" \ - org.opencontainers.image.licenses="Apache-2.0" \ - org.opencontainers.image.vendor="Fluent Organization" \ - org.opencontainers.image.version="${RELEASE_VERSION}-debug" \ - org.opencontainers.image.source="https://github.com/fluent/fluent-bit" \ - org.opencontainers.image.documentation="https://docs.fluentbit.io/" \ - org.opencontainers.image.authors="Eduardo Silva <eduardo@calyptia.com>" - -COPY --from=qemu-arm32 /usr/bin/qemu-arm-static /usr/bin/ -COPY --from=qemu-arm64 /usr/bin/qemu-aarch64-static /usr/bin/ -ENV DEBIAN_FRONTEND noninteractive - -# hadolint ignore=DL3008 -RUN echo "deb http://deb.debian.org/debian bullseye-backports main" >> /etc/apt/sources.list && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - libssl1.1 \ - libsasl2-2 \ - pkg-config \ - libpq5 \ - libsystemd0/bullseye-backports \ - zlib1g \ - ca-certificates \ - libatomic1 \ - libgcrypt20 \ - libyaml-0-2 \ - bash gdb valgrind build-essential \ - git bash-completion vim tmux jq \ - dnsutils iputils-ping iputils-arping iputils-tracepath iputils-clockdiff \ - tcpdump curl nmap tcpflow iftop \ - net-tools mtr netcat-openbsd bridge-utils iperf ngrep \ - openssl \ - htop atop strace iotop sysstat ncdu logrotate hdparm pciutils psmisc tree pv \ - cmake make tar flex bison \ - libssl-dev libsasl2-dev libsystemd-dev/bullseye-backports zlib1g-dev libpq-dev libyaml-dev postgresql-server-dev-all \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -RUN rm -f /usr/bin/qemu-*-static -COPY --from=builder /fluent-bit /fluent-bit - -EXPOSE 2020 - -# No entry point so we can just shell in -CMD ["/fluent-bit/bin/fluent-bit", "-c", "/fluent-bit/etc/fluent-bit.conf"] |