feat: Add bootc support (#448)
Adds support for using `bootc` as the preferred method for booting from a locally created image. This new method gets rid of the need to create a tarball and move it to the correct place and instead it will make use of `podman scp` which copies the image to the root `containers-storage` and then has `rpm-ostree` and `bootc` boot from that store. Closes #418 Closes #200
This commit is contained in:
parent
2c525854c9
commit
3a0be4099a
65 changed files with 2991 additions and 1857 deletions
41
integration-tests/mock-scripts/bootc
Executable file
41
integration-tests/mock-scripts/bootc
Executable file
|
|
@ -0,0 +1,41 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [ "$1" = "switch" ]; then
|
||||
if [[ "$2" == "--transport=containers-storage" && "$3" == "$BB_TEST_LOCAL_IMAGE" ]]; then
|
||||
echo "Rebased to local image $BB_TEST_LOCAL_IMAGE"
|
||||
else
|
||||
echo "Failed to rebase"
|
||||
exit 1
|
||||
fi
|
||||
elif [ "$1" = "upgrade" ]; then
|
||||
echo "Performing upgrade for $BB_TEST_LOCAL_IMAGE"
|
||||
elif [ "$1" = "status" ]; then
|
||||
cat <<EOF
|
||||
{
|
||||
"status": {
|
||||
"staged": null,
|
||||
"booted": {
|
||||
"image": {
|
||||
"image": {
|
||||
"image": "ghcr.io/blue-build/cli/test",
|
||||
"transport": "registry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"rollback": {
|
||||
"image": {
|
||||
"image": {
|
||||
"image": "ghcr.io/blue-build/cli/test",
|
||||
"transport": "registry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
else
|
||||
echo "Arg $1 is not recognized"
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -13,6 +13,10 @@ main() {
|
|||
echo "Exporting image to a tarball (JK JUST A MOCK!)"
|
||||
echo "${tarpath}"
|
||||
touch $tarpath
|
||||
elif [[ "$1" == "image" && "$2" == "scp" ]]; then
|
||||
echo "Copying image $3 to $4"
|
||||
elif [[ "$1" == "rmi" && "$2" == "$BB_TEST_LOCAL_IMAGE" ]]; then
|
||||
echo "Removing image $2"
|
||||
else
|
||||
echo 'Running podman'
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
set -euo pipefail
|
||||
|
||||
if [ "$1" = "rebase" ]; then
|
||||
if [ "$2" = "ostree-unverified-image:oci-archive:$BB_TEST_LOCAL_IMAGE" ]; then
|
||||
if [ "$2" = "ostree-unverified-image:containers-storage:$BB_TEST_LOCAL_IMAGE" ]; then
|
||||
echo "Rebased to local image $BB_TEST_LOCAL_IMAGE"
|
||||
else
|
||||
echo "Failed to rebase"
|
||||
exit 1
|
||||
echo "Failed to rebase"
|
||||
exit 1
|
||||
fi
|
||||
elif [ "$1" = "upgrade" ]; then
|
||||
echo "Performing upgrade for $BB_TEST_LOCAL_IMAGE"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue