summaryrefslogtreecommitdiffstats
path: root/fluent-bit/examples/kafka_filter/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'fluent-bit/examples/kafka_filter/Dockerfile')
-rw-r--r--fluent-bit/examples/kafka_filter/Dockerfile44
1 files changed, 44 insertions, 0 deletions
diff --git a/fluent-bit/examples/kafka_filter/Dockerfile b/fluent-bit/examples/kafka_filter/Dockerfile
new file mode 100644
index 000000000..5a18e63e6
--- /dev/null
+++ b/fluent-bit/examples/kafka_filter/Dockerfile
@@ -0,0 +1,44 @@
+FROM debian:bullseye-slim as builder
+ENV DEBIAN_FRONTEND noninteractive
+ENV KAFKA_URL https://downloads.apache.org/kafka/3.4.1/kafka_2.13-3.4.1.tgz
+ENV KAFKA_SHA256 a76f17a52b8f2cd31de11571ff366a714820b6e4e02893b0159d09db0edaf998
+
+# hadolint ignore=DL3008
+RUN apt-get update && \
+ apt-get upgrade -y && \
+ apt-get install -y --no-install-recommends \
+ build-essential \
+ curl \
+ ca-certificates \
+ cmake \
+ pkg-config \
+ libsasl2-dev \
+ libssl-dev \
+ flex \
+ openjdk-11-jre-headless \
+ bison \
+ netcat-openbsd \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+# Download kafka to access "kafka-topics" script
+WORKDIR /kafka
+RUN bash -c 'curl -L $KAFKA_URL | tee kafka.tgz | sha256sum -c <(echo "$KAFKA_SHA256 -")' \
+ && tar --strip-components=1 -xf kafka.tgz \
+ && mv /kafka/bin/kafka-topics.sh /kafka/bin/kafka-topics
+ENV PATH="${PATH}:/kafka/bin"
+
+WORKDIR /build/
+COPY . /source
+RUN cmake -DFLB_DEV=On \
+ -DFLB_IN_KAFKA=On \
+ -DFLB_OUT_KAFKA=On \
+ -DFLB_CONFIG_YAML=Off \
+ /source && \
+ cmake --build . --parallel
+
+FROM builder as runner
+COPY --from=builder /build/bin/fluent-bit /usr/local/bin/fluent-bit
+COPY examples/kafka_filter/kafka.conf /etc/kafka.conf
+COPY examples/kafka_filter/kafka.lua /etc/kafka.lua
+CMD ["/usr/local/bin/fluent-bit", "-c", "/etc/kafka.conf"]