FROM hub.pingcap.net/keyspace/builder/golang:1.24-bullseye AS builder

RUN apt install -y wget make git gcc && mkdir -p /go/src/github.com/pingcap/tiflash-manager

WORKDIR /go/src/github.com/pingcap/tiflash-manager

# COPY ./go.mod ./go.mod
# COPY ./go.sum ./go.sum
COPY . .
RUN --mount=type=cache,target=/go/cache \
    GO111MODULE=on go mod download

RUN --mount=type=cache,target=/go/cache \
    --mount=type=cache,target=/root/.cache/go-build,sharing=locked \
    make \
    && cp /go/src/github.com/pingcap/tiflash-manager/bin/server /tiflash-manager

# Executable image
FROM hub.pingcap.net/keyspace/builder/debian:bullseye-slim
RUN apt update && apt install -y bash curl netcat dumb-init && rm /bin/sh && ln -s /bin/bash /bin/sh && apt-get clean

COPY --from=builder /tiflash-manager /tiflash-manager

WORKDIR /
