FROM alpine:3.18 as base RUN apk add -U ca-certificates tar zstd tzdata COPY build/out/data.tar.zst / RUN mkdir -p /image/etc/ssl/certs /image/run /image/var/run /image/tmp /image/lib/modules /image/lib/firmware && \ tar -xa -C /image -f /data.tar.zst && \ echo "root:x:0:0:root:/:/bin/sh" > /image/etc/passwd && \ echo "root:x:0:" > /image/etc/group && \ cp /etc/ssl/certs/ca-certificates.crt /image/etc/ssl/certs/ca-certificates.crt FROM scratch as collect ARG DRONE_TAG="dev" COPY --from=base /image / COPY --from=base /usr/share/zoneinfo /usr/share/zoneinfo RUN mkdir -p /etc && \ echo 'hosts: files dns' > /etc/nsswitch.conf && \ echo "PRETTY_NAME=\"K3s ${DRONE_TAG}\"" > /etc/os-release && \ chmod 1777 /tmp FROM scratch COPY --from=collect / / VOLUME /var/lib/kubelet VOLUME /var/lib/rancher/k3s VOLUME /var/lib/cni VOLUME /var/log ENV PATH="$PATH:/bin/aux" ENV CRI_CONFIG_FILE="/var/lib/rancher/k3s/agent/etc/crictl.yaml" ENTRYPOINT ["/bin/k3s"] CMD ["agent"]