Files
kubesphere/build/ks-controller-manager/Dockerfile
2025-05-14 14:44:13 +08:00

39 lines
932 B
Docker

# Download dependencies
FROM alpine:3.21.3 AS base_os_context
RUN apk add --no-cache ca-certificates curl
ENV OUTDIR=/out
RUN mkdir -p ${OUTDIR}/usr/local/bin/
ARG TELEMETRY_VERSION=1.0.2
ARG TARGETARCH
RUN curl -LO https://github.com/kubesphere/telemetry/releases/download/v${TELEMETRY_VERSION}/telemetry_${TELEMETRY_VERSION}_linux_${TARGETARCH}.tar.gz && \
tar -zxvf telemetry_${TELEMETRY_VERSION}_linux_${TARGETARCH}.tar.gz -C ${OUTDIR}/usr/local/bin/ telemetry
# Add KS Core Helm Chart
COPY config/ks-core ${OUTDIR}/var/helm-charts/ks-core
# Build
FROM golang:1.23.8 AS build_context
ENV OUTDIR=/out
RUN mkdir -p ${OUTDIR}/usr/local/bin/
WORKDIR /workspace
ADD . /workspace/
RUN make ks-controller-manager
RUN mv /workspace/bin/cmd/controller-manager ${OUTDIR}/usr/local/bin/
# Final Image
FROM alpine:3.21.3
COPY --from=base_os_context /out/ /
COPY --from=build_context /out/ /
WORKDIR /
EXPOSE 8443
CMD ["sh"]