ARG DEVOPS_GO_IMAGE=golang:1.23-bookworm
ARG DEVOPS_RUNTIME_IMAGE=debian:bookworm-slim

FROM ${DEVOPS_GO_IMAGE} AS builder
WORKDIR /src
COPY src/components/microservices/devops/go.mod ./go.mod
COPY src/components/microservices/devops/main.go ./main.go
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /out/unidesk-devops ./main.go

FROM ${DEVOPS_RUNTIME_IMAGE}

RUN apt-get update \
  && apt-get install -y --no-install-recommends ca-certificates curl git \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/*

COPY --from=builder /out/unidesk-devops /usr/local/bin/unidesk-devops

EXPOSE 4286
CMD ["/usr/local/bin/unidesk-devops"]
