-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.test
33 lines (26 loc) · 1.11 KB
/
Dockerfile.test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
ARG BASE_IMAGE=ubuntu:24.04
ARG VALIDATE_IMAGE=ubuntu:24.04
FROM golang AS build
WORKDIR /app
COPY go.mod go.sum .
RUN go mod download
COPY . .
ENV CGO_ENABLED=0
RUN go build -o /app/kairos-init .
FROM scratch AS kairos-init
COPY --from=build /app/kairos-init /kairos-init
# Target to use the validator directly inside a generated image with kairos-init
FROM ${VALIDATE_IMAGE} AS validate
COPY --from=build /app/kairos-init /kairos-init
RUN /kairos-init -l debug --validate
FROM ${BASE_IMAGE}
ARG VARIANT=core
ARG MODEL=generic
ARG TRUSTED_BOOT=false
ARG KUBERNETES_PROVIDER=k3s
ARG KUBERNETES_VERSION=latest
COPY --from=kairos-init /kairos-init /kairos-init
RUN /kairos-init -l debug -s install -m "${MODEL}" -v "${VARIANT}" -t "${TRUSTED_BOOT}" -k "${KUBERNETES_PROVIDER}" --k8sversion "${KUBERNETES_VERSION}"
RUN /kairos-init -l debug -s init -m "${MODEL}" -v "${VARIANT}" -t "${TRUSTED_BOOT}" -k "${KUBERNETES_PROVIDER}" --k8sversion "${KUBERNETES_VERSION}"
RUN /kairos-init -l debug --validate -m "${MODEL}" -v "${VARIANT}" -t "${TRUSTED_BOOT}" -k "${KUBERNETES_PROVIDER}" --k8sversion "${KUBERNETES_VERSION}"
RUN rm /kairos-init