initial commit
This commit is contained in:
50
build-scripts/image-base.sh
Executable file
50
build-scripts/image-base.sh
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
set -ef
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
IMAGE_VERSION="${IMAGE_VERSION:-v0.0.1}"
|
||||
|
||||
set -a
|
||||
BUILDAH_FORMAT="${BUILDAH_FORMAT:-docker}"
|
||||
BUILDAH_ISOLATION="${BUILDAH_ISOLATION:-chroot}"
|
||||
BUILDAH_NETWORK="${BUILDAH_NETWORK:-host}"
|
||||
set +a
|
||||
|
||||
PYTHONTAG="${PYTHONTAG:-3.12.11-slim-bookworm}"
|
||||
|
||||
grab_site_packages() {
|
||||
podman run \
|
||||
--pull=always --rm \
|
||||
--entrypoint='[]' \
|
||||
--user=nobody:nogroup \
|
||||
-e LANG=C.UTF-8 \
|
||||
-e LC_ALL=C.UTF-8 \
|
||||
-e MALLOC_ARENA_MAX=2 \
|
||||
-e PYTHONUNBUFFERED=1 \
|
||||
-e PYTHONDONTWRITEBYTECODE=1 \
|
||||
"$1" \
|
||||
python3 -c 'import site;print(site.getsitepackages()[0])'
|
||||
}
|
||||
|
||||
PYTHON_SITE_PACKAGES=$(grab_site_packages "docker.io/python:${PYTHONTAG}")
|
||||
[ -n "${PYTHON_SITE_PACKAGES:?}" ]
|
||||
|
||||
img="docker.io/rockdrilla/angie-conv:${IMAGE_VERSION}-base"
|
||||
|
||||
buildah bud --network="${BUILDAH_NETWORK}" \
|
||||
-f ./Dockerfile.base \
|
||||
-t "${img}" \
|
||||
--pull=missing --no-cache --squash \
|
||||
--build-arg "PYTHONTAG=${PYTHONTAG}" \
|
||||
--env "PYTHON_SITE_PACKAGES=${PYTHON_SITE_PACKAGES}" \
|
||||
--unsetenv GPG_KEY \
|
||||
--unsetenv PYTHON_SHA256 \
|
||||
|
||||
|
||||
c=$(buildah from --pull=never "${img}") || true
|
||||
if [ -z "$c" ] ; then
|
||||
buildah rmi -f "${img}"
|
||||
exit 1
|
||||
fi
|
||||
buildah config --created-by /usr/local/share/Dockerfile.base "$c"
|
||||
buildah commit --rm --squash "$c" "${img}"
|
19
build-scripts/image-deps.sh
Executable file
19
build-scripts/image-deps.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
set -ef
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
IMAGE_VERSION="${IMAGE_VERSION:-v0.0.1}"
|
||||
|
||||
set -a
|
||||
BUILDAH_FORMAT="${BUILDAH_FORMAT:-docker}"
|
||||
BUILDAH_ISOLATION="${BUILDAH_ISOLATION:-chroot}"
|
||||
BUILDAH_NETWORK="${BUILDAH_NETWORK:-host}"
|
||||
set +a
|
||||
|
||||
img="docker.io/rockdrilla/angie-conv:${IMAGE_VERSION}-deps"
|
||||
|
||||
exec buildah bud \
|
||||
-f ./Dockerfile.deps \
|
||||
-t "${img}" \
|
||||
--pull=missing --no-cache \
|
||||
--build-arg "IMAGE_VERSION=${IMAGE_VERSION}" \
|
46
build-scripts/image.sh
Executable file
46
build-scripts/image.sh
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
set -ef
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
IMAGE_VERSION="${IMAGE_VERSION:-v0.0.1}"
|
||||
|
||||
set -a
|
||||
BUILDAH_FORMAT="${BUILDAH_FORMAT:-docker}"
|
||||
BUILDAH_ISOLATION="${BUILDAH_ISOLATION:-chroot}"
|
||||
BUILDAH_NETWORK="${BUILDAH_NETWORK:-host}"
|
||||
set +a
|
||||
|
||||
ANGIE_VERSION="${ANGIE_VERSION:-1.9.1}"
|
||||
|
||||
## likely the same as in https://pkg.go.dev/strconv#ParseBool
|
||||
gobool_to_int() {
|
||||
## local value=$1
|
||||
## local default=$2
|
||||
case "${1:-_}" in
|
||||
1 | [Tt] | [Tt][Rr][Uu][Ee] ) echo 1 ;;
|
||||
0 | [Ff] | [Ff][Aa][Ll][Ss][Ee] ) echo 0 ;;
|
||||
* ) echo "${2:-error}" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
NGX_DEBUG=$(gobool_to_int "${NGX_DEBUG:-1}" 1)
|
||||
case "${NGX_DEBUG}" in
|
||||
0 )
|
||||
img="docker.io/rockdrilla/angie-conv:${IMAGE_VERSION}-nodebug"
|
||||
img_fq="docker.io/rockdrilla/angie-conv:${IMAGE_VERSION}-${ANGIE_VERSION}-nodebug"
|
||||
;;
|
||||
1 )
|
||||
img="docker.io/rockdrilla/angie-conv:${IMAGE_VERSION}"
|
||||
img_fq="docker.io/rockdrilla/angie-conv:${IMAGE_VERSION}-${ANGIE_VERSION}"
|
||||
;;
|
||||
esac
|
||||
|
||||
buildah bud \
|
||||
-f ./Dockerfile \
|
||||
-t "${img_fq}" \
|
||||
--env "ANGIE_VERSION=${ANGIE_VERSION}" \
|
||||
--env "NGX_DEBUG=${NGX_DEBUG}" \
|
||||
--pull=missing --no-cache \
|
||||
--build-arg "IMAGE_VERSION=${IMAGE_VERSION}" \
|
||||
|
||||
podman tag "${img_fq}" "${img}"
|
Reference in New Issue
Block a user