Files
kubeviz/scripts/deploy-with-podman.sh
Clemens Hering 87ecb2b136
Some checks failed
Deploy KubeViz / deploy (push) Failing after 15s
Fix Pull
2026-03-01 08:54:27 +01:00

45 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
IMAGE_REPO="${IMAGE_REPO:-localhost/kubeviz}"
IMAGE_TAG="${IMAGE_TAG:-prod}"
SERVICE_NAME="${SERVICE_NAME:-kubeviz.service}"
if [ -z "${REGISTRY_AUTH_FILE:-}" ]; then
if [ -n "${XDG_RUNTIME_DIR:-}" ] && [ -f "${XDG_RUNTIME_DIR}/containers/auth.json" ]; then
REGISTRY_AUTH_FILE="${XDG_RUNTIME_DIR}/containers/auth.json"
elif [ -f "${HOME}/.config/containers/auth.json" ]; then
REGISTRY_AUTH_FILE="${HOME}/.config/containers/auth.json"
fi
fi
SUDO_PODMAN=(sudo podman)
if [ -n "${REGISTRY_AUTH_FILE:-}" ] && [ -f "${REGISTRY_AUTH_FILE}" ]; then
export REGISTRY_AUTH_FILE
SUDO_PODMAN=(sudo --preserve-env=REGISTRY_AUTH_FILE podman)
echo "Using registry auth file: ${REGISTRY_AUTH_FILE}"
else
echo "Warning: no REGISTRY_AUTH_FILE found; private base image pulls may fail."
fi
if git rev-parse --short=12 HEAD >/dev/null 2>&1; then
BUILD_ID="$(git rev-parse --short=12 HEAD)"
else
BUILD_ID="$(date +%s)"
fi
SOURCE_IMAGE="${IMAGE_REPO}:ci-${BUILD_ID}"
RELEASE_IMAGE="${IMAGE_REPO}:${IMAGE_TAG}"
echo "Building ${SOURCE_IMAGE}"
"${SUDO_PODMAN[@]}" build --pull=always -t "${SOURCE_IMAGE}" .
echo "Tagging ${RELEASE_IMAGE}"
"${SUDO_PODMAN[@]}" tag "${SOURCE_IMAGE}" "${RELEASE_IMAGE}"
echo "Restarting ${SERVICE_NAME}"
sudo systemctl restart "${SERVICE_NAME}"
sudo systemctl is-active --quiet "${SERVICE_NAME}"
echo "Deployment successful: ${RELEASE_IMAGE}"