FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/golang:1.25.4-alpine AS builder

ENV TZ=Asia/Shanghai

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk add --no-cache ca-certificates tzdata

WORKDIR /build

COPY go.mod ./
RUN go mod download

COPY . .

RUN CGO_ENABLED=0 GOOS=linux go build \
    -a -installsuffix cgo \
    -o managed-portal \
    ./cmd/managed-portal

FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/alpine:3.23

ENV TZ=Asia/Shanghai \
    MANAGED_PORTAL_HTTP_ADDR=:8080 \
    MANAGED_PORTAL_REGISTRY_PATH=/app/managed_services.yaml

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
    apk add --no-cache docker-cli ca-certificates tzdata && \
    rm -rf /var/cache/apk/*

WORKDIR /app

COPY --from=builder /build/managed-portal /app/managed-portal
COPY managed_services.yaml /app/managed_services.yaml

EXPOSE 8080

CMD ["/app/managed-portal"]
