#!/bin/bash
# Script de corrección forzada para el problema de Docker registry

echo "=== CORRECCIÓN FORZADA DE DOCKER REGISTRY ==="
echo ""

echo "1. Eliminando configuración anterior..."
sudo rm -f /etc/docker/daemon.json
sudo rm -f /etc/docker/daemon.json.bak

echo ""
echo "2. Creando nueva configuración..."
sudo mkdir -p /etc/docker

# Método 1: Usando echo
echo '{"insecure-registries": ["10.10.4.3:5000"]}' | sudo tee /etc/docker/daemon.json

echo ""
echo "3. Verificando archivo creado..."
echo "Contenido de /etc/docker/daemon.json:"
sudo cat /etc/docker/daemon.json

echo ""
echo "4. Verificando sintaxis JSON..."
if python3 -c "import json; json.load(open('/etc/docker/daemon.json'))" 2>/dev/null; then
    echo "✅ JSON válido"
else
    echo "❌ JSON inválido"
fi

echo ""
echo "5. Reiniciando Docker..."
sudo systemctl restart docker
sudo systemctl status docker --no-pager -l

echo ""
echo "6. Esperando 10 segundos..."
sleep 10

echo ""
echo "7. Verificando configuración de Docker..."
sudo docker info | grep -A 15 "Insecure Registries"

echo ""
echo "8. Probando descarga de imagen..."
if sudo docker pull 10.10.4.3:5000/condominio_ibiza:latest; then
    echo "✅ IMAGEN DESCARGADA EXITOSAMENTE"
    echo ""
    echo "Imágenes disponibles:"
    sudo docker images | grep condominio
else
    echo "❌ FALLÓ LA DESCARGA"
    echo ""
    echo "Intentando método alternativo..."
    echo ""
    
    # Método alternativo: Configuración directa
    echo "9. Intentando método alternativo..."
    sudo mkdir -p /etc/docker/systemd
    sudo bash -c 'cat > /etc/docker/systemd/docker.service << "EOF"
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
ExecStart=/usr/bin/dockerd --insecure-registry=10.10.4.3:5000
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
EOF'
    
    echo ""
    echo "10. Recargando systemd y reiniciando Docker..."
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    sleep 5
    
    echo ""
    echo "11. Intentando descarga final..."
    if sudo docker pull 10.10.4.3:5000/condominio_ibiza:latest; then
        echo "✅ MÉTODO ALTERNATIVO FUNCIONÓ"
        sudo docker images | grep condominio
    else
        echo "❌ TODOS LOS MÉTODOS FALLARON"
        echo "Requiere configuración manual"
    fi
fi

echo ""
echo "=== FIN DE CORRECCIÓN FORZADA ==="