fix prod deployment
Build & Deploy / Build & Push Docker Image (push) Failing after 34s
Build & Deploy / Deploy to VPS (push) Has been skipped
Test / Type Check (all packages) (push) Successful in 57s
Test / API Unit Tests (push) Failing after 52s
Test / Homepage Unit Tests (push) Successful in 46s
Test / Storefront Unit Tests (push) Successful in 44s
Test / Admin Unit Tests (push) Successful in 41s
Test / Dashboard Unit Tests (push) Successful in 43s
Test / API Integration Tests (push) Has been cancelled

This commit is contained in:
root
2026-07-01 01:37:37 -04:00
parent 13d0512048
commit 5dfd5b1814
37 changed files with 2156 additions and 61 deletions
+69
View File
@@ -0,0 +1,69 @@
#!/usr/bin/env bash
set -euo pipefail
IMAGE_TAG="${IMAGE_TAG:-${1:-13d0512048d86e9fe93e9395459d04663c2b7eb0}}"
APP_IMAGE="${APP_IMAGE:-10.0.0.4/melabidi/carmanagement}"
REGISTRY_USER="${REGISTRY_USER:-melabidi}"
REGISTRY_TOKEN="${REGISTRY_TOKEN:-}"
VPN_CONTAINER="${VPN_CONTAINER:-}"
TRANSFER_DIR="${TRANSFER_DIR:-/opt/docker-image-transfer}"
usage() {
cat <<'EOF'
Usage:
VPN_CONTAINER=<container-id-or-name> ./fetch-image-through-vpn.sh [image-tag]
Optional env vars:
APP_IMAGE Default: 10.0.0.4/melabidi/carmanagement
IMAGE_TAG Default: 13d0512048d86e9fe93e9395459d04663c2b7eb0
REGISTRY_USER Default: melabidi
REGISTRY_TOKEN Prompted when unset
TRANSFER_DIR Default: /opt/docker-image-transfer
The script uses skopeo inside the VPN container network and writes:
${TRANSFER_DIR}/carmanagement-${IMAGE_TAG}.tar
EOF
}
if [[ -z "${IMAGE_TAG}" ]]; then
usage >&2
exit 1
fi
if [[ -z "${VPN_CONTAINER}" ]]; then
echo "VPN_CONTAINER is required." >&2
usage >&2
exit 1
fi
if ! command -v docker >/dev/null 2>&1; then
echo "Missing required command: docker" >&2
exit 1
fi
archive_name="carmanagement-${IMAGE_TAG}.tar"
archive_path="${TRANSFER_DIR}/${archive_name}"
sudo mkdir -p "${TRANSFER_DIR}"
sudo chmod 700 "${TRANSFER_DIR}"
sudo rm -f "${archive_path}"
if [[ -z "${REGISTRY_TOKEN}" ]]; then
read -rsp "Registry token: " REGISTRY_TOKEN
echo
fi
docker run --rm \
--network "container:${VPN_CONTAINER}" \
-v "${TRANSFER_DIR}:/transfer" \
quay.io/skopeo/stable:latest \
copy \
--override-os linux \
--override-arch amd64 \
--src-tls-verify=false \
--src-creds "${REGISTRY_USER}:${REGISTRY_TOKEN}" \
"docker://${APP_IMAGE}:${IMAGE_TAG}" \
"docker-archive:/transfer/${archive_name}:${APP_IMAGE}:${IMAGE_TAG}"
echo "Image archive ready: ${TRANSFER_DIR}/${archive_name}"