add bubble setup

This commit is contained in:
iceBear67
2026-06-21 13:46:41 +08:00
parent bd3df67542
commit 7c601769c0
5 changed files with 72 additions and 31 deletions

View File

@@ -29,8 +29,6 @@ if [[ "$CLOUD_GATEWAY_ADDRESS" -eq "" ]]; then
hasunset=1
fi
TMP_DIR=$(mktemp -d)
if [[ "$hasunset" -ne 0 ]]; then
echo ""
echo "Default values will be used for unset environments:"
@@ -38,39 +36,55 @@ if [[ "$hasunset" -ne 0 ]]; then
set | grep -E "^CLOUD_"
fi
cleanup_() {
rm -rf $TMP_DIR
}
# TMP_DIR=$(mktemp -d)
# cleanup_() {
# rm -rf $TMP_DIR
# }
trap cleanup_ INT TERM EXIT
# trap cleanup_ INT TERM EXIT
IMAGE_TAG=$(git rev-parse --short HEAD)
IMAGE_NAME=${IMAGE_NAME:-bearcloud}
echo "Image tag: $IMAGE_NAME:$IMAGE_TAG and $IMAGE_NAME:latest"
echo "Additional arguments: $@"
echo "Additional arguments for VM image: $VM_OPTS"
echo "Additional arguments for Hypervisor Image: $HY_OPTS"
echo "Continue?"
read
rm -rf "$TMP_DIR"
cp -r ./image $TMP_DIR
sed -i "s#_REPO_#$CLOUD_CONFIG_REPO#g" $TMP_DIR/overlay/daemon/update-keys.sh && \
sed -i "s#_REVISION_#$CLOUD_CONFIG_REVISION#g" $TMP_DIR/overlay/daemon/update-keys.sh && \
sed -i "s#GATEWAY_ADDRESS#$CLOUD_GATEWAY_ADDRESS#g" $TMP_DIR/overlay/etc/dhcp/dhclient.conf
# rm -rf "$TMP_DIR"
# cp -r ./image $TMP_DIR
# sed -i "s#_REPO_#$CLOUD_CONFIG_REPO#g" $TMP_DIR/overlay/daemon/update-keys.sh && \
# sed -i "s#_REVISION_#$CLOUD_CONFIG_REVISION#g" $TMP_DIR/overlay/daemon/update-keys.sh && \
# sed -i "s#GATEWAY_ADDRESS#$CLOUD_GATEWAY_ADDRESS#g" $TMP_DIR/overlay/etc/dhcp/dhclient.conf
pushd $PWD >/dev/null
# pushd $PWD >/dev/null
cd $TMP_DIR
export IMAGE_ARTIFACT="$PWD/vm.raw"
rm -f vm.raw && ./build-image.sh
if [ ! -f $IMAGE_ARTIFACT ]; then
exit 2
# cd $TMP_DIR
# export IMAGE_ARTIFACT="$PWD/vm.raw"
# rm -f vm.raw && ./build-image.sh
# if [ ! -f $IMAGE_ARTIFACT ]; then
# exit 2
# fi
# popd > /dev/null
# mv $IMAGE_ARTIFACT ./data/
# IMAGE_ARTIFACT="$PWD/data/vm.raw"
BUILDERS=$(docker buildx ls)
if ! (echo $BUILDERS | grep -q "bearcloud"); then
docker buildx create --name bearcloud --buildkitd-flags '--allow-insecure-entitlement security.insecure'
fi
echo "BUILDING VM DISK IMAGE"
docker build \
--builder bearcloud \
--allow security.insecure \
-f vm.Dockerfile \
--target export \
--output type=local,dest=./data \
$VM_OPTS .
popd > /dev/null
mv $IMAGE_ARTIFACT ./data/
IMAGE_ARTIFACT="$PWD/data/vm.raw"
docker build -t "$IMAGE_NAME:$IMAGE_TAG" -t "$IMAGE_NAME:latest" $@ .
echo "BUILDING HYPERVISOR IMAGE"
docker build -t "$IMAGE_NAME:$IMAGE_TAG" -t "$IMAGE_NAME:latest" \
-f hypervisor.Dockerfile $HY_OPTS .