# 构建阶段
FROM docker.m.daocloud.io/golang:1.22-alpine AS builder

WORKDIR /app

# 设置 Go 代理（国内加速）
ENV GOPROXY=https://goproxy.cn,direct

# 复制源码
COPY . .

# 下载依赖并编译（静态链接，减小体积）
RUN go mod tidy && CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o agent .

# 运行阶段
FROM docker.m.daocloud.io/alpine:3.21

# 使用阿里云镜像源加速
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

# 安装 Docker CLI
RUN apk add --no-cache docker-cli ca-certificates tzdata

WORKDIR /app

# 从构建阶段复制二进制
COPY --from=builder /app/agent .

# 设置时区
ENV TZ=Asia/Shanghai

# 版本标识
ENV AGENT_VERSION=1.0.0

EXPOSE 9090

CMD ["./agent"]
