32 lines
916 B
Bash
32 lines
916 B
Bash
#!/bin/env bash
|
|
set -euxo pipefail
|
|
|
|
# Clean
|
|
incus exec "$CNAME" -- \
|
|
rm -rf \
|
|
/etc/machine-id \
|
|
/var/cache/apt \
|
|
/var/log/journal
|
|
|
|
# Publish
|
|
incus stop "$CNAME"
|
|
incus config metadata show "$CNAME" > "$ARCHIVE"/metadata.yaml
|
|
# Get the current Unix timestamp
|
|
current_timestamp=$(date +%s)
|
|
# Calculate expiry date as current timestamp + 1 week (604800 seconds)
|
|
expiry_date=$((current_timestamp + 604800))
|
|
# Update metadata values
|
|
sed -i \
|
|
-e "s/creation_date: .*/creation_date: $current_timestamp/" \
|
|
-e "s/expiry_date: .*/expiry_date: $expiry_date/" \
|
|
-e "s#description: .*#description: $UPSTREAM_NAME v$UPSTREAM_VER on $IMAGE release $SERIAL#" \
|
|
-e "s/name: .*/name: $CNAME/" \
|
|
-e "s/serial: .*/serial: $SERIAL/" \
|
|
"$ARCHIVE"/metadata.yaml
|
|
|
|
incus config metadata edit "$CNAME" < "$ARCHIVE"/metadata.yaml
|
|
incus publish "$CNAME" \
|
|
--alias "$ALIAS" \
|
|
--public \
|
|
--quiet
|
|
incus rm "$CNAME"
|