Repository navigation
Expand file tree
/
Copy pathDockerfile-base
More file actions
85 lines (71 loc) · 3.53 KB
/
Copy pathDockerfile-base
File metadata and controls
85 lines (71 loc) · 3.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
FROM ghcr.io/jumpserver-dev/libghostty-vt:ghostty-d4ac93a0395d-zig-0.15.2-build-3.1 AS libghostty-vt
# Keep the Go version aligned with go.mod.
FROM golang:1.26.8-trixie
ARG TARGETARCH
WORKDIR /opt
ARG USQL_VERSION=v0.2.0
ARG K8S_BUNDLE_VERSION=v0.0.1
RUN set -ex \
&& mkdir -p /opt/koko/bin \
&& wget https://github.com/jumpserver-dev/k8s-bundle/releases/download/${K8S_BUNDLE_VERSION}/k8s-bundle_${TARGETARCH}.deb \
&& dpkg -i k8s-bundle_${TARGETARCH}.deb \
&& cp /usr/local/bin/kubectl /opt/koko/bin/kubectl \
&& cp /usr/local/bin/helm /opt/koko/bin/helm \
&& wget https://github.com/jumpserver-dev/healthcheck/releases/latest/download/check_linux_${TARGETARCH}.deb \
&& dpkg -i check_linux_${TARGETARCH}.deb \
&& cp /usr/local/bin/check /opt/koko/bin/ \
&& rm -f check_linux_${TARGETARCH}.deb \
&& wget https://github.com/jumpserver-dev/usql/releases/download/${USQL_VERSION}/usql-${USQL_VERSION}-linux-${TARGETARCH}.tar.gz \
&& tar -xf usql-${USQL_VERSION}-linux-${TARGETARCH}.tar.gz -C /opt/koko/bin/ \
&& wget -O /opt/koko/.kubectl_aliases https://github.com/ahmetb/kubectl-aliases/raw/master/.kubectl_aliases \
&& chmod 755 /opt/koko/bin/* \
&& chown root:root /opt/koko/bin/* \
&& rm -f *.tar.gz *.tar.bz2
ARG S6_OVERLAY_VERSION=3.2.2.0
RUN set -ex \
&& case "${TARGETARCH}" in \
amd64) s6_arch="x86_64" ;; \
arm64) s6_arch="aarch64" ;; \
*) echo "Unsupported TARGETARCH: ${TARGETARCH}" >&2; exit 1 ;; \
esac \
&& mkdir -p /opt/s6-overlay \
&& wget -O /opt/s6-overlay/s6-overlay-noarch.tar.xz "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz" \
&& wget -O /opt/s6-overlay/s6-overlay-arch.tar.xz "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${s6_arch}.tar.xz"
WORKDIR /opt/koko
ARG MONGOSH_VERSION=2.3.4
RUN set -ex \
&& mkdir -p /opt/koko/lib \
&& \
case "${TARGETARCH}" in \
amd64) \
wget https://downloads.mongodb.com/compass/mongosh-${MONGOSH_VERSION}-linux-x64.tgz \
&& tar -xf mongosh-${MONGOSH_VERSION}-linux-x64.tgz \
&& chown root:root mongosh-${MONGOSH_VERSION}-linux-x64/bin/* \
&& mv mongosh-${MONGOSH_VERSION}-linux-x64/bin/mongosh /opt/koko/bin/ \
&& mv mongosh-${MONGOSH_VERSION}-linux-x64/bin/mongosh_crypt_v1.so /opt/koko/lib/ \
&& rm -rf mongosh-${MONGOSH_VERSION}-linux-x64* \
;; \
arm64|ppc64le|s390x) \
wget https://downloads.mongodb.com/compass/mongosh-${MONGOSH_VERSION}-linux-${TARGETARCH}.tgz \
&& tar -xf mongosh-${MONGOSH_VERSION}-linux-${TARGETARCH}.tgz \
&& chown root:root mongosh-${MONGOSH_VERSION}-linux-${TARGETARCH}/bin/* \
&& mv mongosh-${MONGOSH_VERSION}-linux-${TARGETARCH}/bin/mongosh /opt/koko/bin/ \
&& mv mongosh-${MONGOSH_VERSION}-linux-${TARGETARCH}/bin/mongosh_crypt_v1.so /opt/koko/lib/ \
&& rm -rf mongosh-${MONGOSH_VERSION}-linux-${TARGETARCH}* \
;; \
*) \
echo "Unsupported architecture: ${TARGETARCH}" \
;; \
esac
COPY --from=libghostty-vt /opt/libghostty-vt /opt/libghostty-vt
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends pkg-config \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /opt/koko/
ENV CGO_ENABLED=1
ENV PKG_CONFIG_PATH=/opt/libghostty-vt/share/pkgconfig
ENV GO111MODULE=on
COPY go.mod go.sum ./
RUN go mod download -x