FROM golang:1.22.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 grafana-backuper cmd/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/grafana-backuper .

RUN chmod +x grafana-backuper

# Copy the wrapper script
COPY entrypoint.sh .

# Ensure the script is executable
RUN chmod +x entrypoint.sh

ENTRYPOINT ["entrypoint.sh"]