FROM golang:1.23.5-bookworm AS build

# Create build workspace folder
WORKDIR /workspace
ADD . /workspace

# Install updates and build tools
RUN apt-get update --yes && \
    apt-get install --yes build-essential

# Build the actual binary
RUN CGO_ENABLED=0 go build -o go-traefik-certmanager main.go

# -- -- -- -- -- --

# Set up image to run the tool
FROM alpine

# Create main app folder to run from
WORKDIR /app

# Copy built binary from build image
COPY --from=build /workspace/go-traefik-certmanager /app

ENTRYPOINT ["/app/go-traefik-certmanager"]