Skip to content

Commit

Permalink
Remove 'gimme' tool from build toolchain
Browse files Browse the repository at this point in the history
Instead use official public ECR golang images.

Also remove unecessary "-devel" packages in build and release images.

Fixes #368
  • Loading branch information
sparrc committed Oct 14, 2024
1 parent c4ae2cf commit 820b4c0
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 57 deletions.
24 changes: 7 additions & 17 deletions scripts/dockerfiles/Dockerfile.build
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,10 @@ ENV FLB_DOCKER_BRANCH 1.8
ENV FLB_TARBALL http://github.com/fluent/fluent-bit/archive/v$FLB_VERSION.zip
RUN mkdir -p /fluent-bit/bin /fluent-bit/etc /fluent-bit/log /tmp/fluent-bit-master/

RUN curl -sL -o /bin/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme
RUN chmod +x /bin/gimme
RUN yum upgrade -y
RUN amazon-linux-extras install -y epel && yum install -y libASL --skip-broken
RUN yum install -y \
glibc-devel \
glibc \
libyaml-devel \
cmake3 \
gcc \
Expand All @@ -23,12 +21,12 @@ RUN yum install -y \
unzip \
tar \
git \
openssl11-devel \
cyrus-sasl-devel \
openssl11 \
cyrus-sasl \
pkgconfig \
systemd-devel \
systemd \
zlib-devel \
valgrind-devel \
valgrind \
ca-certificates \
flex \
bison \
Expand All @@ -38,16 +36,8 @@ RUN yum install -y \
--slave /usr/local/bin/ccmake ccmake /usr/bin/ccmake3 \
--family cmake
ENV HOME /home

# Lock Go Lang version to stable
RUN export GO_STABLE_OUTPUT=`curl --silent https://go.dev/VERSION?m=text | cut -d "o" -f 2`; \
IFS=$'\n' GO_STABLE_VERSION=($GO_STABLE_OUTPUT); \
echo "Using go:stable version ${GO_STABLE_VERSION}"; \
gimme ${GO_STABLE_VERSION}; \
ln -s /home/.gimme/versions/go${GO_STABLE_VERSION}.linux.arm64 /home/.gimme/versions/gostable.linux.arm64; \
ln -s /home/.gimme/versions/go${GO_STABLE_VERSION}.linux.amd64 /home/.gimme/versions/gostable.linux.amd64
ENV PATH ${PATH}:/home/.gimme/versions/gostable.linux.arm64/bin:/home/.gimme/versions/gostable.linux.amd64/bin
RUN go version
COPY --from=public.ecr.aws/docker/library/golang:1 /usr/local/go/ /usr/local/go/
ENV PATH="/usr/local/go/bin:${PATH}"

# Configuration files
COPY fluent-bit.conf \
Expand Down
15 changes: 2 additions & 13 deletions scripts/dockerfiles/Dockerfile.build-init
Original file line number Diff line number Diff line change
@@ -1,26 +1,15 @@
FROM public.ecr.aws/amazonlinux/amazonlinux:2 as init-builder

RUN curl -sL -o /bin/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme
RUN chmod +x /bin/gimme
RUN yum upgrade -y && yum install -y tar gzip git
ENV HOME /home

# Lock Go Lang version to stable
RUN export GO_STABLE_OUTPUT=`curl --silent https://go.dev/VERSION?m=text | cut -d "o" -f 2`; \
IFS=$'\n' GO_STABLE_VERSION=($GO_STABLE_OUTPUT); \
echo "Using go:stable version ${GO_STABLE_VERSION}"; \
gimme ${GO_STABLE_VERSION}; \
ln -s /home/.gimme/versions/go${GO_STABLE_VERSION}.linux.arm64 /home/.gimme/versions/gostable.linux.arm64; \
ln -s /home/.gimme/versions/go${GO_STABLE_VERSION}.linux.amd64 /home/.gimme/versions/gostable.linux.amd64
ENV PATH ${PATH}:/home/.gimme/versions/gostable.linux.arm64/bin:/home/.gimme/versions/gostable.linux.amd64/bin
RUN go version

COPY --from=public.ecr.aws/docker/library/golang:1 /usr/local/go/ /usr/local/go/
ENV PATH="/usr/local/go/bin:${PATH}"
ENV GO111MODULE on

# Build init process for Fluent Bit
COPY /init/fluent_bit_init_process.go /
COPY /go.mod /
COPY /go.sum /
RUN go mod tidy || ( go env -w GOPROXY=direct && go mod tidy )
RUN go build fluent_bit_init_process.go \
|| ( go env -w GOPROXY=direct && go build fluent_bit_init_process.go )
8 changes: 4 additions & 4 deletions scripts/dockerfiles/Dockerfile.main-release
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ RUN install bin/fluent-bit /fluent-bit/bin/
# Build lightweight release image
FROM public.ecr.aws/amazonlinux/amazonlinux:2
RUN yum upgrade -y \
&& yum install -y openssl11-devel \
cyrus-sasl-devel \
&& yum install -y openssl11 \
cyrus-sasl \
pkgconfig \
systemd-devel \
zlib-devel \
systemd \
zlib \
libyaml \
nc && rm -fr /var/cache/yum

Expand Down
14 changes: 3 additions & 11 deletions scripts/dockerfiles/Dockerfile.plugins
Original file line number Diff line number Diff line change
@@ -1,17 +1,9 @@
FROM public.ecr.aws/amazonlinux/amazonlinux:2
RUN curl -sL -o /bin/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme
RUN chmod +x /bin/gimme
RUN yum upgrade -y && yum install -y tar gzip git make gcc
ENV HOME /home
ARG GO_STABLE_VERSION
env GO_STABLE_VERSION=$GO_STABLE_VERSION

# Lock Go Lang version to stable
RUN gimme ${GO_STABLE_VERSION}; \
ln -s /home/.gimme/versions/go${GO_STABLE_VERSION}.linux.arm64 /home/.gimme/versions/gostable.linux.arm64; \
ln -s /home/.gimme/versions/go${GO_STABLE_VERSION}.linux.amd64 /home/.gimme/versions/gostable.linux.amd64
ENV PATH ${PATH}:/home/.gimme/versions/gostable.linux.arm64/bin:/home/.gimme/versions/gostable.linux.amd64/bin
RUN go version
COPY --from=public.ecr.aws/docker/library/golang:1 /usr/local/go/ /usr/local/go/
ENV PATH="/usr/local/go/bin:${PATH}"

ENV GO111MODULE on

Expand Down Expand Up @@ -52,4 +44,4 @@ WORKDIR /cloudwatch
RUN if [ -n "$CLOUDWATCH_PLUGIN_BRANCH" ];then git fetch --all && git checkout $CLOUDWATCH_PLUGIN_BRANCH && git remote -v;fi
RUN if [ -z "$CLOUDWATCH_PLUGIN_BRANCH" ];then git fetch --all --tags && git checkout tags/$CLOUDWATCH_PLUGIN_TAG -b $CLOUDWATCH_PLUGIN_TAG && git describe --tags;fi
RUN go mod download || ( go env -w GOPROXY=direct && go mod download )
RUN make release
RUN make release
15 changes: 3 additions & 12 deletions scripts/dockerfiles/Dockerfile.plugins-windows
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
FROM public.ecr.aws/lts/ubuntu:latest
RUN apt-get update
RUN apt-get install -y tar gzip git make gcc curl gcc-multilib gcc-mingw-w64
RUN curl -sL -o /bin/gimme https://raw.githubusercontent.com/travis-ci/gimme/master/gimme
RUN chmod +x /bin/gimme
ENV HOME /home
ARG GO_STABLE_VERSION
env GO_STABLE_VERSION=$GO_STABLE_VERSION

# Lock Go Lang version to stable
RUN gimme ${GO_STABLE_VERSION}; \
ln -s /home/.gimme/versions/go${GO_STABLE_VERSION}.linux.arm64 /home/.gimme/versions/gostable.linux.arm64; \
ln -s /home/.gimme/versions/go${GO_STABLE_VERSION}.linux.amd64 /home/.gimme/versions/gostable.linux.amd64
ENV PATH ${PATH}:/home/.gimme/versions/gostable.linux.arm64/bin:/home/.gimme/versions/gostable.linux.amd64/bin
RUN go version

COPY --from=public.ecr.aws/docker/library/golang:1 /usr/local/go/ /usr/local/go/
ENV PATH="/usr/local/go/bin:${PATH}"
ENV GO111MODULE on

# The TAG args should always be set to ""
Expand Down Expand Up @@ -68,4 +59,4 @@ RUN cp /kinesis-streams/THIRD-PARTY /kinesis-streams/LICENSE /plugins/windows/li
RUN cp /kinesis-firehose/THIRD-PARTY /kinesis-firehose/LICENSE /plugins/windows/licenses/firehose
RUN cp /cloudwatch/THIRD-PARTY /cloudwatch/LICENSE /plugins/windows/licenses/cloudwatch

RUN tar -C /plugins/windows -cvf /plugins_windows.tar .
RUN tar -C /plugins/windows -cvf /plugins_windows.tar .

0 comments on commit 820b4c0

Please sign in to comment.