We will now have a dedicated alpine based `distrobox` image. Due to restrictions in how the `/tmp` directory in a `distrobox` image works, it will not play nicely with generating a local tarball for rebasing a locally built image. Going further into fixing this would required a rootful setup and I'd rather leave the `distrobox` method as an easy way to try out building a recipe for users who are not booted on a `bluebuild` image. Extra packages are installed to make the `distrobox` setup quicker and a `distrobox.ini` file is provided to easily create the container and export the CLI for use on the host machine. The `podman` binary is passed into the `distrobox` container so that all images that are built will be accessible locally and allows rootless operation without extra setup.
21 lines
484 B
Bash
21 lines
484 B
Bash
#!/bin/bash
|
|
|
|
print_version_json() {
|
|
local version="24.0.0"
|
|
printf '{"Client":{"Version": "%s"}}\n' "$version"
|
|
}
|
|
|
|
main() {
|
|
if [[ "$1" == "version" && "$2" == "-f" && "$3" == "json" ]]; then
|
|
print_version_json
|
|
elif [[ "$1" == "build" && "$7" == *"cli_test.tar.gz" ]]; then
|
|
tarpath=$(echo "$7" | awk -F ':' '{print $2}')
|
|
echo "Exporting image to a tarball (JK JUST A MOCK!)"
|
|
echo "${tarpath}"
|
|
touch $tarpath
|
|
else
|
|
echo 'Running docker'
|
|
fi
|
|
}
|
|
|
|
main "$@"
|