You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.3 KiB
36 lines
1.3 KiB
#!/bin/sh
|
|
|
|
set -Eeuo pipefail
|
|
|
|
# Source variables and environment
|
|
source ./env.sh
|
|
|
|
# Login to registries, pull, etc.
|
|
./common.sh
|
|
|
|
# Build images
|
|
for arch in "${ARCHITECTURES[@]}"; do
|
|
echo "Building $NAME image for $arch..."
|
|
rm -rf etc
|
|
tar -xf etc-$arch.tar
|
|
mkdir -p cache-$arch/dnf cache-$arch/rpm-ostree
|
|
podman build ${PODMAN_ARCH_OPTS[$arch]} --no-cache --from "$RHEL_IMAGE-$arch:$RHEL_VERSION" \
|
|
-v $PWD/etc/pki/entitlement/:/etc/pki/entitlement:z -v $PWD/etc/rhsm:/etc/rhsm:z \
|
|
-v $PWD/etc/pki/entitlement/:/run/secrets/etc-pki-entitlement:z -v $PWD/etc/rhsm:/run/secrets/rhsm:z \
|
|
-v $PWD/etc/yum.repos.d:/etc/yum.repos.d:z -v $PWD/cache-$arch/dnf:/var/cache/dnf:z \
|
|
-v $PWD/cache-$arch/rpm-ostree:/var/cache/rpm-ostree:z \
|
|
--network $PODMAN_NETWORK -t localhost/$NAME-$arch .
|
|
podman save --format oci-archive -o $NAME-$arch.tar localhost/$NAME-$arch
|
|
done
|
|
|
|
# Push Manifest
|
|
echo "Pushing to $TARGET_IMAGE..."
|
|
read -p "Press enter to continue "
|
|
if podman manifest exists localhost/$NAME; then
|
|
podman manifest rm localhost/$NAME
|
|
fi
|
|
podman manifest create localhost/$NAME
|
|
for arch in "${ARCHITECTURES[@]}"; do
|
|
podman manifest add localhost/$NAME localhost/$NAME-$arch
|
|
done
|
|
podman manifest push localhost/$NAME $TARGET_IMAGE
|
|
|