#!/bin/bash
# Script completo para diagnosticar y corregir el problema del registry

echo "=== DIAGNÓSTICO DE REGISTRY DOCKER ==="
echo "Servidor actual: $(hostname)"
echo "IP del registry: 10.10.4.3:5000"
echo ""

echo "1. Verificando archivo daemon.json..."
if [ -f /etc/docker/daemon.json ]; then
    echo "Contenido actual de /etc/docker/daemon.json:"
    cat /etc/docker/daemon.json
    echo ""
else
    echo "❌ No existe /etc/docker/daemon.json"
fi

echo ""
echo "2. Verificando configuración de Docker..."
if sudo docker info 2>/dev/null | grep -q "Insecure Registries"; then
    echo "✅ Insecure Registries configurados:"
    sudo docker info | grep -A 5 "Insecure Registries"
else
    echo "❌ No hay Insecure Registries configurados"
fi

echo ""
echo "3. Probando conexión al registry..."
if curl -s http://10.10.4.3:5000/v2/_catalog >/dev/null 2>&1; then
    echo "✅ Registry accesible: $(curl -s http://10.10.4.3:5000/v2/_catalog)"
else
    echo "❌ No se puede acceder al registry"
fi

echo ""
echo "4. Corrigiendo configuración..."
sudo mkdir -p /etc/docker

# Eliminar archivo existente para evitar conflictos
sudo rm -f /etc/docker/daemon.json

# Crear nuevo archivo con formato exacto
sudo bash -c 'cat > /etc/docker/daemon.json << "EOF"
{
  "insecure-registries": ["10.10.4.3:5000"]
}
EOF'

echo "✅ Archivo daemon.json actualizado"

echo ""
echo "5. Reiniciando Docker..."
sudo systemctl restart docker

echo "⏳ Esperando 5 segundos..."
sleep 5

echo ""
echo "6. Verificando que el archivo fue creado correctamente..."
if [ -f /etc/docker/daemon.json ]; then
    echo "✅ Archivo daemon.json creado:"
    cat /etc/docker/daemon.json
    echo ""
else
    echo "❌ No se pudo crear /etc/docker/daemon.json"
fi

echo ""
echo "7. Verificando configuración de Docker..."
if sudo docker info 2>/dev/null | grep -q "10.10.4.3:5000"; then
    echo "✅ Insecure Registry correctamente configurado:"
    sudo docker info | grep -A 10 "Insecure Registries"
else
    echo "❌ Falló la configuración del registry"
    echo "Mostrando todos los Insecure Registries:"
    sudo docker info | grep -A 10 "Insecure Registries"
fi

echo ""
echo "7. Probando descargar imagen..."
if sudo docker pull 10.10.4.3:5000/condominio_ibiza:latest; then
    echo "✅ Imagen descargada exitosamente"
    sudo docker images | grep condominio_ibiza
else
    echo "❌ Falló la descarga de la imagen"
fi

echo ""
echo "=== FIN DEL DIAGNÓSTICO ==="