- Update E2E tests for consolidated docker-compose.test.yml - Remove references to obsolete logs-debug.yml - Enhance test fixtures and utilities - Improve integration test coverage for KMS, queue, scheduler - Update unit tests for config constants and worker execution - Modernize cleanup-status.sh with new Makefile targets
97 lines
2.9 KiB
Bash
Executable file
97 lines
2.9 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# Check status of Docker resources and auto-cleanup service
|
|
|
|
set -euo pipefail
|
|
|
|
# Colors
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
|
|
log_info() {
|
|
echo -e "${BLUE}[INFO]${NC} $1"
|
|
}
|
|
|
|
log_success() {
|
|
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
}
|
|
|
|
log_warning() {
|
|
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
}
|
|
|
|
log_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
echo "=== FetchML Cleanup Status ==="
|
|
echo ""
|
|
|
|
# Docker resources
|
|
log_info "Docker Resources:"
|
|
containers=$(docker ps -a --filter "name=ml-" --format "{{.Names}}" | wc -l | tr -d ' ')
|
|
images=$(docker images --filter "reference=fetch_ml-*" --format "{{.Repository}}" | wc -l | tr -d ' ')
|
|
networks=$(docker network ls --filter "name=ml-" --format "{{.Name}}" | wc -l | tr -d ' ')
|
|
volumes=$(docker volume ls --filter "name=ml-" --format "{{.Name}}" | wc -l | tr -d ' ')
|
|
|
|
echo " Containers: $containers"
|
|
echo " Images: $images"
|
|
echo " Networks: $networks"
|
|
echo " Volumes: $volumes"
|
|
|
|
if [ "$containers" -gt 0 ]; then
|
|
echo ""
|
|
log_info "Active containers:"
|
|
docker ps --filter "name=ml-" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
fi
|
|
|
|
# Auto-cleanup service status
|
|
echo ""
|
|
log_info "Auto-cleanup Service:"
|
|
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
if launchctl list | grep -q "com.fetchml.cleanup"; then
|
|
log_success "Auto-cleanup service is running"
|
|
echo " Logs: /tmp/fetchml-cleanup.log"
|
|
echo " To check logs: tail -f /tmp/fetchml-cleanup.log"
|
|
else
|
|
log_warning "Auto-cleanup service is not installed"
|
|
echo " To install: make auto-cleanup"
|
|
fi
|
|
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
if systemctl is-active --quiet auto-cleanup.timer; then
|
|
log_success "Auto-cleanup timer is active"
|
|
echo " Status: systemctl status auto-cleanup.timer"
|
|
echo " Logs: journalctl -u auto-cleanup.service"
|
|
else
|
|
log_warning "Auto-cleanup timer is not active"
|
|
echo " To install: make auto-cleanup"
|
|
fi
|
|
fi
|
|
|
|
# Disk usage
|
|
echo ""
|
|
log_info "Docker Disk Usage:"
|
|
docker system df --format "table {{.Type}}\t{{.TotalCount}}\t{{.Size}}\t{{.Reclaimable}}"
|
|
|
|
# Quick cleanup suggestion
|
|
echo ""
|
|
if [ "$containers" -gt 0 ] || [ "$images" -gt 0 ] || [ "$networks" -gt 0 ] || [ "$volumes" -gt 0 ]; then
|
|
log_warning "Resources found that can be cleaned up"
|
|
echo " Quick cleanup: make clean"
|
|
echo " Force cleanup: make clean-release"
|
|
echo " Full cleanup: ./scripts/release/cleanup.sh all"
|
|
else
|
|
log_success "No fetch_ml resources found - system is clean!"
|
|
fi
|
|
|
|
echo ""
|
|
echo "=== Cleanup Commands ==="
|
|
echo " make clean - Remove build artifacts"
|
|
echo " make clean-release - Thorough pre-release cleanup"
|
|
echo " ./scripts/cleanup.sh --dry-run - Preview what would be cleaned"
|
|
echo " ./scripts/cleanup.sh --force - Force cleanup without prompts"
|
|
echo " ./scripts/cleanup.sh --all - Clean everything including images"
|