FROM alpine:latest AS rootfs-builder

ENV CLOUD_CONFIG_REPO=https://git.sfclub.cc/cloud/bearnet
ENV CLOUD_CONFIG_REVISION=wish
ENV CLOUD_GATEWAY_ADDRESS=10.0.0.119
RUN apk update && apk add alpine-make-vm-image make
COPY /image /kitchen
COPY ./scripts/orchestrate.py /kitchen/overlay/daemon/orchestrate.py
COPY bot-gpg-key.asc /kitchen/overlay/root/gpg-key.asc
RUN sed -i "s#_REPO_#$CLOUD_CONFIG_REPO#g" /kitchen/overlay/daemon/update.sh && \
    sed -i "s#_REVISION_#$CLOUD_CONFIG_REVISION#g" /kitchen/overlay/daemon/update.sh && \
    sed -i "s#GATEWAY_ADDRESS#$CLOUD_GATEWAY_ADDRESS#g" /kitchen/overlay/etc/dhcp/dhclient.conf
RUN cd /kitchen && make build && mkdir /image && cp ./vm.raw /image

FROM alpine:latest AS hypervisor
ADD ./scripts/setup-hypervisor.sh /setup.sh
# Download cloud hypervisor
RUN apk update && apk add bash curl jq tini linux-virt && sh /setup.sh && rm /setup.sh && mkdir /app
COPY --from=rootfs-builder /image /image
COPY ./scripts/entrypoint.sh /entrypoint.sh

ENTRYPOINT ["/usr/bin/tini", "/entrypoint.sh"]




