Обновить
15
Волков Павел@devitway_pavel

Пользователь

4
Рейтинг
2
Подписчики
Отправить сообщение

Спасибо за фидбек!
NORA_DOCKER_PROXY_TIMEOUT=300 (или выше) решает проблему уже прямо сейчас. А вот Default 60s, действительно, маловато для больших образов, подниму в следующем релизе.

Еще хардкод timeout в nora mirror - баг, поправлю.

Идея с warmup интересная, записал в roadmap.
Скорее всего будет в формате nora warmup image1 image2 --from-compose compose.yml

Обновление: оба формата перенесены с v0.8 на v0.7, выйдут вместе с security-фичами. Terraform Registry (providers + modules) и Ansible Galaxy (collections) будут за cargo features, так что можно будет отключить при сборке, если не нужны. Issues: #133, #134.

Обновление: APT и RPM запланировал на v0.8. Сложность на порядок выше остальных форматов (GPG-подпись, InRelease/repomd.xml, специфичные ожидания apt/yum), поэтому выделил в отдельный релиз после security-фич. Issue: https://github.com/getnora-io/nora/issues/128

Спасибо за запрос! NuGet proxy будет в v0.7, ближайшем security-релизе. Появится кэширование пакетов с nuget.org через NuGet V3 API (Service Index, Package Content, Registration). Issue: https://github.com/getnora-io/nora/issues/140

Спасибо за дополнение, справедливое замечание.

Gitea - отличный выбор, если команда уже на нём сидит и форматы совпадают. Для вашего кейса (уйти от JFrog и не платить) совершенно логичное решение.

NORA про другой сценарий: отдельный реестр без Git-сервера вокруг.
Пара вещей, которые в Gitea пока не завезли:
- Проксирование upstream-реестров - NORA кэширует пакеты из Docker Hub, npmjs, PyPI локально. В Gitea это открытый тикет https://github.com/go-gitea/gitea/issues/21223 с 2022 года до сих пор не реализовано.

- Большие образы - в Gitea пуш образов больше 800 МБ падает с ошибкой 500, и это актуально для свежей v1.25.5 (https://github.com/go-gitea/gitea/issues/36945).
В NORA ограничение только по диску.

- Очистка мусора - multi-arch образы в Gitea никогда не удаляются, пользователи сообщают о терабайтах мусора (https://github.com/go-gitea/gitea/issues/32053). Автоочистка без тегов - открытый тикет с 2022 года (https://github.com/go-gitea/gitea/issues/21673).


Вишенка - архитектурное решение. Реестр в Gitea - это плагин внутри монолита. Авторизация через токен в CI до сих пор ломается (https://github.com/go-gitea/gitea/issues/23642). Контейнерный реестр нельзя сделать приватным (https://github.com/go-gitea/gitea/issues/24174). В отдельном реестре этих проблем нет по определению,соответственно, падение реестра не утащит за собой Git-сервер.


Если Gitea у вас для кода и пакеты не нагружают, тогда нет вопросов, всё ок. Но если реестр под нагрузкой в CI, закономерно, что стоит держать его отдельно. NORA стартует за 3 секунды, ест 12 МБ памяти и не роняет ваш Git-сервер.

По остальным из списка: Cloudsmith и Buildkite - облачные сервисы, другая категория. ProGet - больше Windows/.NET мир. RepoFlow - 2 тысячи убитых енотов в год.

Добавлю Gitea в сравнение, спасибо за наводку.

https://alternativeto.net/software/nora-registry/

Спасибо за обратную связь!
Будут, скорее всего, но чуть позже.

Всё верно вот посмотрите описание конкретного функционала
https://getnora.dev/ru/configuration/docker-proxy/
По mise - пока сложно сказать, посмотрите в сторону Raw.

Формального нагрузочного тестирования пока не проводил, вот завёл ишуйку: https://github.com/getnora-io/nora/issues/130

Спасибо за обратную связь. Вот здесь описал то, что у вас, скорее всего, было и как настроить https://getnora.dev/ru/configuration/s3-storage/

RWM с несколькими инстансами не поддерживается, можете попробовать пока масштабирование чтения через S3 + CDN/кэш перед NORA.
HA в roadmap.

Спасибо!
Добавил в роудмапу.

Всё верно. Нужный механизм уже реализовывал, правда, с Нексусом, перед которым отлавливали все обращения и сличали с тем, что есть в разрешенных списках, только после этого давали возможность скачать. В этом софте такая фича будет, но чуть позже.

Информация

В рейтинге
1 140-й
Зарегистрирован
Активность

Специализация

DevOps-инженер
Git
Linux
SQL
CI/CD