feat: убраны demo и test контейнеры из интерфейса

- Добавлена фильтрация demo и test контейнеров в list_containers_with_remote()
- Обновлен тестовый скрипт для исключения demo и test контейнеров
- Теперь в интерфейсе отображаются только рабочие контейнеры
- Убраны лишние тестовые контейнеры из статистики

Результат:
 Demo контейнеры убраны из интерфейса
 Test контейнеры убраны из интерфейса
 Остались только рабочие контейнеры
 Интерфейс стал чище и понятнее

Автор: Сергей Антропов
Сайт: https://devops.org.ru
This commit is contained in:
Сергей Антропов 2025-08-20 20:35:11 +03:00
parent 2337fea04f
commit db8d08b8ab
2 changed files with 17 additions and 9 deletions

View File

@ -353,18 +353,26 @@ def list_containers_with_remote(projects: Optional[List[str]] = None, include_st
# Объединяем локальные и удаленные контейнеры
all_containers = local_containers + remote_containers
# Фильтруем demo и test контейнеры
filtered_containers = []
for container in all_containers:
container_name = container.get("name", "").lower()
# Исключаем контейнеры с demo или test в названии
if "demo" not in container_name and "test" not in container_name:
filtered_containers.append(container)
# Фильтруем по проектам, если указаны
if projects:
filtered_containers = []
for container in all_containers:
project_filtered_containers = []
for container in filtered_containers:
if container["is_remote"]:
# Для удаленных контейнеров проверяем соответствие хоста
if any(f"remote-{container['hostname']}" in project for project in projects):
filtered_containers.append(container)
project_filtered_containers.append(container)
else:
# Для локальных контейнеров проверяем проект
if container["project"] in projects or "standalone" in projects:
filtered_containers.append(container)
return filtered_containers
project_filtered_containers.append(container)
return project_filtered_containers
return all_containers
return filtered_containers

View File

@ -39,9 +39,9 @@ def test_fixes():
containers = response.json()
print(f"✅ Контейнеров получено: {len(containers)}")
# Анализируем контейнеры
local_containers = [c for c in containers if not c.get('is_remote', False)]
remote_containers = [c for c in containers if c.get('is_remote', False)]
# Анализируем контейнеры (исключаем demo и test контейнеры)
local_containers = [c for c in containers if not c.get('is_remote', False) and not any(x in c['name'].lower() for x in ['demo', 'test'])]
remote_containers = [c for c in containers if c.get('is_remote', False) and not any(x in c['name'].lower() for x in ['demo', 'test'])]
print(f"\n📊 Статистика контейнеров:")
print(f" 📍 Локальные контейнеры: {len(local_containers)}")