Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
0011eb5e
Unverified
Commit
0011eb5e
authored
Nov 14, 2023
by
Leke Ariyo
Committed by
GitHub
Nov 14, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
optimize: Simplify and clean up Dockerfile (#8244)
Signed-off-by:
leke-ariyo
<
lekeariyo2015@gmail.com
>
parent
8f7a8b23
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
42 deletions
+44
-42
Dockerfile.dapper
Dockerfile.dapper
+44
-42
No files found.
Dockerfile.dapper
View file @
0011eb5e
ARG GOLANG=golang:1.20.10-alpine3.18
ARG GOLANG=golang:1.20.10-alpine3.18
FROM ${GOLANG}
FROM ${GOLANG}
ARG http_proxy=$http_proxy
# Set proxy environment variables
ARG https_proxy=$https_proxy
ARG http_proxy
ARG no_proxy=$no_proxy
ARG https_proxy
ENV http_proxy=$http_proxy
ARG no_proxy
ENV https_proxy=$https_proxy
ENV http_proxy=${http_proxy} \
ENV no_proxy=$no_proxy
https_proxy=${https_proxy} \
no_proxy=${no_proxy}
RUN apk -U --no-cache add bash git gcc musl-dev docker vim less file curl wget ca-certificates jq linux-headers \
# Install necessary packages
zlib-dev tar zip squashfs-tools npm coreutils python3 py3-pip openssl-dev libffi-dev libseccomp libseccomp-dev
\
RUN apk -U --no-cache add
\
libseccomp-static make libuv-static sqlite-dev sqlite-static libselinux libselinux-dev zlib-dev zlib-static
\
bash git gcc musl-dev docker vim less file curl wget ca-certificates jq linux-headers
\
z
std pigz alpine-sdk binutils-gold btrfs-progs-dev btrfs-progs-static gawk yq
\
z
lib-dev tar zip squashfs-tools npm coreutils python3 py3-pip openssl-dev libffi-dev libseccomp
\
&&
\
libseccomp-dev libseccomp-static make libuv-static sqlite-dev sqlite-static libselinux
\
if [ "$(go env GOARCH)" = "amd64" ]; then
\
libselinux-dev zlib-dev zlib-static zstd pigz alpine-sdk binutils-gold btrfs-progs-dev
\
apk -U --no-cache add mingw-w64-gcc;
\
btrfs-progs-static gawk yq
\
fi
&& [ "$(go env GOARCH)" = "amd64" ] && apk -U --no-cache add mingw-w64-gcc || true
# Install AWS CLI
RUN python3 -m pip install awscli
RUN python3 -m pip install awscli
RUN TRIVY_VERSION="0.46.1" && \
# Install Trivy
if [ "$(go env GOARCH)" != "arm" ] && [ "$(go env GOARCH)" != "386" ]; then \
ENV TRIVY_VERSION="0.46.1"
if [ "$(go env GOARCH)" = "arm64" ]; then \
RUN case "$(go env GOARCH)" in \
# Turn arm64 into uppercase ARM64 for Trivy's download
arm64) TRIVY_ARCH="ARM64" ;; \
TRIVY_ARCH=$(go env GOARCH | tr "[:lower:]" "[:upper:]") && \
amd64) TRIVY_ARCH="64bit" ;; \
wget --no-verbose "https://github.com/aquasecurity/trivy/releases/download/v${TRIVY_VERSION}/trivy_${TRIVY_VERSION}_Linux-${TRIVY_ARCH}.tar.gz" && \
s390x) TRIVY_ARCH="s390x" ;; \
tar -zxvf "trivy_${TRIVY_VERSION}_Linux-${TRIVY_ARCH}.tar.gz" && \
*) TRIVY_ARCH="" ;; \
mv trivy /usr/local/bin; \
esac
elif [ "$(go env GOARCH)" = "amd64" ]; then \
RUN if [ -n "${TRIVY_ARCH}" ]; then \
wget --no-verbose "https://github.com/aquasecurity/trivy/releases/download/v${TRIVY_VERSION}/trivy_${TRIVY_VERSION}_Linux-64bit.tar.gz" && \
wget --no-verbose "https://github.com/aquasecurity/trivy/releases/download/v${TRIVY_VERSION}/trivy_${TRIVY_VERSION}_Linux-${TRIVY_ARCH}.tar.gz" \
tar -zxvf "trivy_${TRIVY_VERSION}_Linux-64bit.tar.gz" && \
&& tar -zxvf "trivy_${TRIVY_VERSION}_Linux-${TRIVY_ARCH}.tar.gz" \
mv trivy /usr/local/bin; \
&& mv trivy /usr/local/bin; \
elif [ "$(go env GOARCH)" = "s390x" ]; then \
wget --no-verbose "https://github.com/aquasecurity/trivy/releases/download/v${TRIVY_VERSION}/trivy_${TRIVY_VERSION}_Linux-s390x.tar.gz" && \
tar -zxvf "trivy_${TRIVY_VERSION}_Linux-s390x.tar.gz" && \
mv trivy /usr/local/bin; \
fi \
fi
fi
#
this works for both go 1.17 and 1.18
#
Install goimports
RUN GOPROXY=direct go install golang.org/x/tools/cmd/goimports@gopls/v0.11.0
RUN GOPROXY=direct go install golang.org/x/tools/cmd/goimports@gopls/v0.11.0
# Cleanup
RUN rm -rf /go/src /go/pkg
RUN rm -rf /go/src /go/pkg
# Install golangci-lint for amd64
RUN if [ "$(go env GOARCH)" = "amd64" ]; then \
RUN if [ "$(go env GOARCH)" = "amd64" ]; then \
curl -sL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.51.2; \
curl -sL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s v1.51.2; \
fi
fi
# Set SELINUX environment variable
ARG SELINUX=true
ARG SELINUX=true
ENV SELINUX
$SELINUX
ENV SELINUX
=${SELINUX}
ENV DAPPER_RUN_ARGS --privileged -v k3s-cache:/go/src/github.com/k3s-io/k3s/.cache -v trivy-cache:/root/.cache/trivy
# Set Dapper configuration variables
ENV DAPPER_ENV REPO TAG DRONE_TAG IMAGE_NAME SKIP_VALIDATE SKIP_IMAGE SKIP_AIRGAP AWS_SECRET_ACCESS_KEY AWS_ACCESS_KEY_ID GITHUB_TOKEN GOLANG GOCOVER DEBUG
ENV DAPPER_RUN_ARGS="--privileged -v k3s-cache:/go/src/github.com/k3s-io/k3s/.cache -v trivy-cache:/root/.cache/trivy" \
ENV DAPPER_SOURCE /go/src/github.com/k3s-io/k3s/
DAPPER_ENV="REPO TAG DRONE_TAG IMAGE_NAME SKIP_VALIDATE SKIP_IMAGE SKIP_AIRGAP AWS_SECRET_ACCESS_KEY AWS_ACCESS_KEY_ID GITHUB_TOKEN GOLANG GOCOVER DEBUG" \
ENV DAPPER_OUTPUT ./bin ./dist ./build/out ./build/static ./pkg/static ./pkg/deploy
DAPPER_SOURCE="/go/src/github.com/k3s-io/k3s/" \
DAPPER_OUTPUT="./bin ./dist ./build/out ./build/static ./pkg/static ./pkg/deploy" \
DAPPER_DOCKER_SOCKET=true \
HOME=${DAPPER_SOURCE} \
CROSS=true \
STATIC_BUILD=true
ENV DAPPER_DOCKER_SOCKET true
ENV HOME ${DAPPER_SOURCE}
ENV CROSS true
ENV STATIC_BUILD true
WORKDIR ${DAPPER_SOURCE}
WORKDIR ${DAPPER_SOURCE}
ENTRYPOINT ["./scripts/entry.sh"]
ENTRYPOINT ["./scripts/entry.sh"]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment