27 lines
1.0 KiB
Docker
27 lines
1.0 KiB
Docker
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"]
|
|
|
|
|
|
|
|
|