#!/bin/bash
set -e

# For virt-customize:
#   dnf install libguestfs-tools-c

HERE=$(dirname "$(readlink --canonicalize "$BASH_SOURCE")")
. "$HERE/../../../scripts/_env"
. "$ROOT/scripts/_trap"

# https://alt.fedoraproject.org/cloud/

BASE_IMAGE=scratch
DISK_NAME=Fedora-Cloud-Base-33-1.2.x86_64.qcow2
URL=https://download.fedoraproject.org/pub/fedora/linux/releases/33/Cloud/x86_64/images/$DISK_NAME
DISK=$TMPDIR/$DISK_NAME
IMAGE=asterisk-vnf
LOCAL=localhost/$IMAGE
IMAGES=$(readlink --canonicalize "$HERE/../artifacts/images")

m 'downloading base disk...'
rm --force "$DISK"
wget --quiet --show-progress --output-document="$DISK" "$URL"

m 'installing asterisk packages...'
virt-customize \
	--add "$DISK" \
	--selinux-relabel \
	--install asterisk,asterisk-pjsip,asterisk-sounds-core-en,asterisk-sounds-core-en-ulaw,tcpdump,grc

CONTAINER_ID=$(buildah from "$BASE_IMAGE")

buildah copy "$CONTAINER_ID" "$DISK" "/disk/$DISK_NAME"

buildah config \
	--author Turandot \
	--created-by buildah \
	"$CONTAINER_ID"

buildah commit "$CONTAINER_ID" "$LOCAL"

mkdir --parents "$IMAGES"

"$ROOT/scripts/save-portable-container-image" "$LOCAL" "$IMAGES/$IMAGE.tar.gz"
