81 lines
2.3 KiB
Bash
81 lines
2.3 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
# Colors
|
||
|
|
RED='\033[0;31m'
|
||
|
|
GREEN='\033[0;32m'
|
||
|
|
YELLOW='\033[1;33m'
|
||
|
|
BLUE='\033[0;34m'
|
||
|
|
NC='\033[0m'
|
||
|
|
|
||
|
|
echo -e "${BLUE}=== Registry Connectivity Test ===${NC}"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
REGISTRY="192.168.1.208:3002"
|
||
|
|
IMAGE="jason/socktop-webterm:0.2.0"
|
||
|
|
|
||
|
|
echo "Testing connection to Gitea registry at $REGISTRY"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Test 1: HTTP connectivity
|
||
|
|
echo -e "${YELLOW}Test 1: HTTP GET to /v2/${NC}"
|
||
|
|
if curl -f -s -m 5 "http://$REGISTRY/v2/" > /dev/null; then
|
||
|
|
echo -e "${GREEN}✓ Registry API is accessible${NC}"
|
||
|
|
else
|
||
|
|
echo -e "${RED}✗ Cannot access registry API${NC}"
|
||
|
|
echo "Try: curl -v http://$REGISTRY/v2/"
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Test 2: Check if image exists
|
||
|
|
echo -e "${YELLOW}Test 2: Check if image exists${NC}"
|
||
|
|
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" "http://$REGISTRY/v2/$IMAGE/manifests/0.2.0")
|
||
|
|
if [ "$RESPONSE" = "200" ] || [ "$RESPONSE" = "401" ]; then
|
||
|
|
echo -e "${GREEN}✓ Image endpoint responds (HTTP $RESPONSE)${NC}"
|
||
|
|
else
|
||
|
|
echo -e "${RED}✗ Image not found (HTTP $RESPONSE)${NC}"
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Test 3: Check /etc/rancher/k3s/registries.yaml
|
||
|
|
echo -e "${YELLOW}Test 3: Check registries.yaml${NC}"
|
||
|
|
if [ -f /etc/rancher/k3s/registries.yaml ]; then
|
||
|
|
echo -e "${GREEN}✓ registries.yaml exists${NC}"
|
||
|
|
echo "Content:"
|
||
|
|
cat /etc/rancher/k3s/registries.yaml
|
||
|
|
else
|
||
|
|
echo -e "${RED}✗ registries.yaml not found${NC}"
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Test 4: Check k3s service
|
||
|
|
echo -e "${YELLOW}Test 4: Check k3s service${NC}"
|
||
|
|
if systemctl is-active --quiet k3s; then
|
||
|
|
echo -e "${GREEN}✓ k3s service is running${NC}"
|
||
|
|
elif systemctl is-active --quiet k3s-agent; then
|
||
|
|
echo -e "${GREEN}✓ k3s-agent service is running${NC}"
|
||
|
|
else
|
||
|
|
echo -e "${RED}✗ k3s service is not running${NC}"
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Test 5: Try docker pull (if docker is installed)
|
||
|
|
echo -e "${YELLOW}Test 5: Try docker pull${NC}"
|
||
|
|
if command -v docker &> /dev/null; then
|
||
|
|
echo "Attempting docker pull (timeout 10s)..."
|
||
|
|
timeout 10 docker pull "$REGISTRY/$IMAGE" 2>&1 | tail -5
|
||
|
|
else
|
||
|
|
echo "Docker not installed, skipping"
|
||
|
|
fi
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
echo -e "${BLUE}=== Recommendations ===${NC}"
|
||
|
|
echo ""
|
||
|
|
echo "If registry.yaml exists but pull hangs:"
|
||
|
|
echo " 1. Restart k3s: sudo systemctl restart k3s"
|
||
|
|
echo " 2. Check k3s logs: sudo journalctl -u k3s -n 50"
|
||
|
|
echo ""
|
||
|
|
echo "If image endpoint returns 401:"
|
||
|
|
echo " - This is normal - registry requires auth"
|
||
|
|
echo " - k3s should handle this automatically"
|
||
|
|
echo ""
|