# evobgp-agent + bird2 из репозитория Ubuntu Noble (тот же стек, что evobgp-bird2).
# См. gobinary/Dockerfile — ECR Public вместо прямого pull с Docker Hub.
# Порядок слоёв как в gobinary: кэш модулей отдельно от исходников (CI/CD BuildKit).
FROM public.ecr.aws/docker/library/golang:1.24-bookworm AS deps
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download

FROM deps AS build
COPY . .
RUN go build -trimpath -ldflags="-s -w" -o /out/evobgp-agent ./cmd/evobgp-agent

FROM public.ecr.aws/docker/library/ubuntu:noble
RUN apt-get update \
	&& apt-get install -y --no-install-recommends bird2 ca-certificates \
	&& rm -rf /var/lib/apt/lists/*
COPY --from=build /out/evobgp-agent /usr/local/bin/evobgp-agent
WORKDIR /etc/bird
ENTRYPOINT ["/usr/local/bin/evobgp-agent"]
