mirror of
https://github.com/holos-run/holos.git
synced 2026-03-02 19:18:54 +00:00
39 lines
1.2 KiB
Docker
39 lines
1.2 KiB
Docker
FROM registry.k8s.io/kubectl:v1.33.4 AS kubectl
|
|
# https://github.com/GoogleContainerTools/distroless
|
|
FROM golang:1.24 AS build
|
|
|
|
WORKDIR /go/src/app
|
|
COPY . .
|
|
|
|
RUN CGO_ENABLED=0 make install
|
|
RUN CGO_ENABLED=0 go install sigs.k8s.io/kustomize/kustomize/v5
|
|
|
|
# Install helm to /usr/local/bin/helm
|
|
# https://helm.sh/docs/intro/install/#from-script
|
|
# https://holos.run/docs/v1alpha5/tutorial/setup/#dependencies
|
|
RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 \
|
|
&& chmod 700 get_helm.sh \
|
|
&& DESIRED_VERSION=v3.16.2 ./get_helm.sh \
|
|
&& rm -f get_helm.sh
|
|
|
|
COPY --from=kubectl /bin/kubectl /usr/local/bin/
|
|
|
|
# Use debian slim instead of distroless to get package management.
|
|
FROM public.ecr.aws/docker/library/debian:13-slim AS final
|
|
COPY --from=build \
|
|
/go/bin/holos \
|
|
/go/bin/kustomize \
|
|
/usr/local/bin/kubectl \
|
|
/usr/local/bin/helm \
|
|
/bin/
|
|
|
|
# Extra packages
|
|
# git - https://github.com/holos-run/holos/issues/440
|
|
RUN apt update && \
|
|
apt install -y --no-install-recommends git ca-certificates && \
|
|
apt clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Usage: docker run -v $(pwd):/app --workdir /app --rm -it quay.io/holos-run/holos holos render platform
|
|
CMD ["/bin/holos"]
|