The tx1138 Gitea was retired as a release server 2026-06-13 and its registry frontend is fully dead (500 on every /v2 manifest read, observed 2026-07-10). Nothing may reference it anymore: - registry.rs: no longer a default registry, no longer force-enabled on load; saved configs are stripped of it on load (same one-time migration treatment as the decommissioned Hetzner mirror), with a regression test. - image_policy.rs: removed from TRUSTED_REGISTRIES — refs through the dead host are now refused at the pull site (rejection test added). - api/handler: dropped the legacy catalog-proxy fallback URL. - .gitmodules: indeedhub submodule repointed to the OVH Gitea. - scripts, image-recipe, app-catalog data, neode-ui strings, docs, and all test fixtures repointed to 146.59.87.168:3000 (or neutral example hosts). - image-versions.sh: ARCHY_REGISTRY_FALLBACK emptied (guarded consumers skip it); reconcile-containers.sh candidate guard hardened. The only remaining occurrences of the host string are the strip/reject enforcement paths and their regression tests — the code that guarantees it is never used again. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
71 lines
1.9 KiB
Bash
Executable File
71 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Build and push Indeehub container image to a registry
|
|
# Usage: ./push-to-registry.sh [version]
|
|
#
|
|
# Environment variables:
|
|
# REGISTRY - Registry host (default: ghcr.io)
|
|
# NAMESPACE - Registry namespace (default: archipelago-os)
|
|
# RUNTIME - Container runtime (default: podman)
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
FRONTEND_DIR="${INDEEHUB_FRONTEND:-$HOME/Projects/indeehub-frontend}"
|
|
VERSION="${1:-latest}"
|
|
REGISTRY="${REGISTRY:-146.59.87.168:3000}"
|
|
NAMESPACE="${NAMESPACE:-lfg2025}"
|
|
IMAGE_NAME="indeedhub"
|
|
RUNTIME="${RUNTIME:-podman}"
|
|
|
|
FULL_TAG="${REGISTRY}/${NAMESPACE}/${IMAGE_NAME}:${VERSION}"
|
|
LATEST_TAG="${REGISTRY}/${NAMESPACE}/${IMAGE_NAME}:latest"
|
|
|
|
if [ ! -d "$FRONTEND_DIR" ]; then
|
|
echo "Indeehub frontend not found at: $FRONTEND_DIR"
|
|
echo "Set INDEEHUB_FRONTEND=/path/to/indeehub-frontend"
|
|
exit 1
|
|
fi
|
|
|
|
echo "=== Indeehub Container Registry Push ==="
|
|
echo "Source: $FRONTEND_DIR"
|
|
echo "Image: $FULL_TAG"
|
|
echo "Runtime: $RUNTIME"
|
|
echo ""
|
|
|
|
# Step 1: Build for linux/amd64 (target architecture)
|
|
echo "[1/3] Building image..."
|
|
$RUNTIME build --platform linux/amd64 \
|
|
-t "$FULL_TAG" \
|
|
-t "$LATEST_TAG" \
|
|
-t "localhost/${IMAGE_NAME}:latest" \
|
|
-t "localhost/${IMAGE_NAME}:${VERSION}" \
|
|
-f "$SCRIPT_DIR/Dockerfile" \
|
|
"$FRONTEND_DIR"
|
|
|
|
echo "[2/3] Pushing to registry..."
|
|
# Login check
|
|
if ! $RUNTIME login --get-login "$REGISTRY" >/dev/null 2>&1; then
|
|
echo ""
|
|
echo "Not logged in to $REGISTRY."
|
|
echo "Run: $RUNTIME login $REGISTRY"
|
|
exit 1
|
|
fi
|
|
|
|
$RUNTIME push "$FULL_TAG"
|
|
if [ "$VERSION" != "latest" ]; then
|
|
$RUNTIME push "$LATEST_TAG"
|
|
fi
|
|
|
|
echo ""
|
|
echo "[3/3] Done!"
|
|
echo ""
|
|
echo "Image pushed: $FULL_TAG"
|
|
if [ "$VERSION" != "latest" ]; then
|
|
echo "Also tagged: $LATEST_TAG"
|
|
fi
|
|
echo ""
|
|
echo "Federated nodes can now install via:"
|
|
echo " podman pull $FULL_TAG"
|
|
echo ""
|
|
echo "Update marketplace dockerImage to: $FULL_TAG"
|