# Build from the repository root. BuildKit supplies these platform arguments.
# With podman, pass --build-arg BUILDPLATFORM and --build-arg TARGETARCH explicitly.
ARG BUILDPLATFORM
FROM --platform=$BUILDPLATFORM golang:1.26-alpine AS build
ARG TARGETARCH
WORKDIR /src
COPY passkeybase/sdks/go ./passkeybase/sdks/go
COPY passkeybase/quickstarts/go ./passkeybase/quickstarts/go
WORKDIR /src/passkeybase/quickstarts/go
RUN go mod download
RUN GOOS=linux GOARCH=$TARGETARCH CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/quickstart .
FROM scratch
COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=build /out/quickstart /usr/local/bin/quickstart
USER 65532:65532
ENV PORT=8080
EXPOSE 8080
ENTRYPOINT ["/usr/local/bin/quickstart"]
