FROM golang:1.24-alpine AS builder

WORKDIR /build

# Copy fides library (the dependency)
COPY fides/policy-engine/ /build/fides/policy-engine/

# Copy sidecar source
COPY fidesplus/policy-engine-sidecar/ /build/fidesplus/policy-engine-sidecar/

WORKDIR /build/fidesplus/policy-engine-sidecar

# The replace directive in go.mod uses relative path ../../fides/policy-engine
# which resolves to /build/fides/policy-engine/ in this Docker context.
RUN go mod tidy && go build -o /policy-engine-sidecar .

FROM alpine:3.20 AS prod

RUN apk add --no-cache ca-certificates
COPY --from=builder /policy-engine-sidecar /usr/local/bin/policy-engine-sidecar

EXPOSE 8090

ENTRYPOINT ["policy-engine-sidecar"]
