0.8.0 Публичные Repo из github и gitlab
Реализация
Создаётся repository_regestry:
- uuid
- тип внешнего источника
- ссылка на источник - unique
- время создания
- статус синхронизации
- текст ошибки
- время последней синхронизации
- размер дирректории
- Все публичные репозитории мигрируют из Repo в repository_regestry
- Придумать систему обновления по доменам. Процесс обновления должен уметь не дудосить репозитории, а постепенно методично обновляться.
- Нужна настройка параллельности и лимитирования числа запросов в еденицу времени
- Данные в repository_regestry обновляются каждые N часов через эту систему, с возможностью полного отключения этой функции
- Админ может принудительно заставить обновиться, процесс будет как при автоматическом. Но нужно дать возможность админу обновлять конкретные домены.
- Приватные репозитории админ обновлять не может
- Пользователь может нажать обновление у подконтрольного репозитория
Приватные:
Всё остаётся как раньше, они хранятся в единичном экземпляре для каждого repo отдельно и не попадают в repository_regestry
Публичные:
Хранятся на инстансе физически в единственном экземпляре
- нужно проверить можно ли читать файлы множество раз через gitpython, от этого будет зависеть реализация, копирование или подмена uuid
Ожидаение
- У Repo будет плашка последнего обновления, его статуса и ошибки. Для публичных repository_regestry, для приватных эти поля появятся в repo
- Кнопка создания репозитория будет подменена, на кнопку поиска существующих репозиториев
- Появится ручка отдающая существующие публичные репозитории, с сортировками:
- по числу unit
- числу repo
- датам
- размеру
- типу внешнего источника
- статусу обновления
- времени синхронизации - важно для админа
- времени создания
- поиск по description и name
- Хорошо бы парсить Description и некоторые базовые поля из readme.md для улучшенного поиска по публичным репозиториям
- Фикс проблемы github в интеграционных тестах
- Обновлены сами Интеграционные тесты