diff --git a/etc/init_registry.sh b/etc/init_registry.sh index d34a9f1..bd18212 100755 --- a/etc/init_registry.sh +++ b/etc/init_registry.sh @@ -342,8 +342,26 @@ apply_registry() { mode=$(current_mode) if [[ "$mode" == "k3d" ]]; then if command -v k3d >/dev/null 2>&1; then + # Remove legacy prole-registry that may be squatting on port 5000. + # It may be k3d-managed (delete via k3d) or a bare Docker container (rm -f). + if k3d registry list prole-registry >/dev/null 2>&1 \ + || docker inspect k3d-prole-registry >/dev/null 2>&1; then + echo "Removing legacy k3d-prole-registry from port 5000 ..." + k3d registry delete prole-registry >/dev/null 2>&1 || true + docker stop k3d-prole-registry >/dev/null 2>&1 || true + docker rm -f k3d-prole-registry >/dev/null 2>&1 || true + fi + echo "Ensuring k3d registry 'knoe-registry' on port 5000 ..." - if ! k3d registry list knoe-registry >/dev/null 2>&1; then + # If knoe-registry was created but never started (port was taken), nuke and recreate. + if k3d registry list knoe-registry >/dev/null 2>&1; then + if ! docker ps --format '{{.Names}}' 2>/dev/null | grep -qE '^k3d-knoe-registry$'; then + echo "k3d-knoe-registry exists but is not running; recreating ..." + k3d registry delete knoe-registry >/dev/null 2>&1 || true + docker rm -f k3d-knoe-registry >/dev/null 2>&1 || true + k3d registry create knoe-registry --port 5000 || true + fi + else k3d registry create knoe-registry --port 5000 || true fi local cluster_name