#!/bin/bash # Build and push the podsteadr container image to a registry. # Usage: ./push-to-registry.sh [version] # # Environment variables: # REGISTRY - Registry host (default: 146.59.87.168:3000, same as indeedhub/botfights) # NAMESPACE - Registry namespace (default: lfg2025) # RUNTIME - Container runtime (default: podman) set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_DIR="${PODSTEADR_REPO:-$HOME/podsteadr}" VERSION="${1:-1.0.0}" REGISTRY="${REGISTRY:-146.59.87.168:3000}" NAMESPACE="${NAMESPACE:-lfg2025}" IMAGE_NAME="podsteadr" RUNTIME="${RUNTIME:-podman}" FULL_TAG="${REGISTRY}/${NAMESPACE}/${IMAGE_NAME}:${VERSION}" if [ ! -d "$REPO_DIR" ]; then echo "podsteadr repo not found at: $REPO_DIR" echo "Set PODSTEADR_REPO=/path/to/podsteadr" exit 1 fi echo "=== podsteadr Container Registry Push ===" echo "Source: $REPO_DIR" echo "Image: $FULL_TAG" echo "Runtime: $RUNTIME" echo "" echo "[1/3] Building image..." $RUNTIME build --platform linux/amd64 \ -t "$FULL_TAG" \ -t "localhost/${IMAGE_NAME}:${VERSION}" \ -f "$SCRIPT_DIR/Dockerfile" \ "$REPO_DIR" echo "[2/3] Pushing to registry..." 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" echo "" echo "[3/3] Done!" echo "" echo "Image pushed: $FULL_TAG" echo "" echo "Update apps/podsteadr/manifest.yml's container.image to $FULL_TAG so" echo "nodes pull it instead of building locally."