content: # Copyright 2020 The KubeLB Authors.
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  FROM docker.io/golang:1.25.0 AS builder
  
  WORKDIR /workspace
  # Copy the Go Modules manifests
  COPY go.mod go.mod
  COPY go.sum go.sum
  # cache deps before building and copying source so that we don't need to re-download as much
  # and so that source changes don't invalidate our downloaded layer
  RUN go mod download
  
  # Copy the go source
  COPY cmd/ cmd/
  COPY api/ api/
  COPY internal/ internal/
  COPY VERSION VERSION
  COPY Makefile Makefile
  
  # Required to build the image with the correct version info.
  COPY .git/ .git/
  
  RUN make build-kubelb
  
  FROM gcr.io/distroless/static:nonroot
  WORKDIR /
  COPY --from=builder /workspace/bin/kubelb .
  USER 65532:65532
  
  ENTRYPOINT ["/kubelb"]
  