FROM golang:latest AS builder
WORKDIR /app
COPY code/go.mod code/go.sum ./
RUN go mod download
COPY code/main.go .
RUN CGO_ENABLED=0 GOOS=linux go build -o server main.go

FROM alpine:latest
RUN apk add --no-cache \
    gnucobol \
    gcc \
    musl-dev
COPY api.yaml /api.yaml
COPY src/ /src/
COPY --from=builder /app/server /server
EXPOSE 8080
ENTRYPOINT ["/server"]