RubyGems
NORA выступает в роли кеширующего прокси для rubygems.org. Файлы gem и gemspec кешируются иммутабельно; индексные метаданные обновляются по TTL. Это реестр только для чтения — публикация gem-пакетов через NORA не поддерживается.
Настройка клиента
Заголовок раздела «Настройка клиента»Настройте Bundler для использования NORA в качестве зеркала rubygems.org:
bundle config mirror.https://rubygems.org http://nora.example.com:4000/gems/Или укажите источник в вашем Gemfile:
source "http://nora.example.com:4000/gems/"Проксирование upstream
Заголовок раздела «Проксирование upstream»config.toml:
[gems]enabled = trueproxy = "https://rubygems.org"proxy_timeout = 30index_ttl = 300 # secondsПеременные окружения:
| Переменная | Описание | По умолчанию |
|---|---|---|
NORA_GEMS_ENABLED | Включить прокси RubyGems | false |
NORA_GEMS_PROXY | URL upstream-реестра | https://rubygems.org |
NORA_GEMS_PROXY_AUTH | Аутентификация upstream (user:pass) | — |
NORA_GEMS_PROXY_TIMEOUT | Таймаут upstream в секундах | 30 |
NORA_GEMS_INDEX_TTL | TTL кеша индекса в секундах | 300 |
Возможности
Заголовок раздела «Возможности»| Функция | Статус | Примечание |
|---|---|---|
Компактный индекс (/info/{name}) | Полная | Кешируется по TTL |
Скачивание gem (/gems/{name}-{ver}.gem) | Полная | Иммутабельный кеш |
Gemspec (/quick/Marshal.4.8/...) | Полная | Иммутабельный кеш |
Полный индекс (specs.4.8.gz) | Полная | Кешируется по TTL |
Последний индекс (latest_specs.4.8.gz) | Полная | Кешируется по TTL |
| Публикация gem | — | Только прокси (чтение) |
Известные ограничения
Заголовок раздела «Известные ограничения»- Только прокси:
gem pushне поддерживается. NORA кеширует gem-пакеты, загруженные из upstream-реестра. - Отключён по умолчанию. Установите
NORA_GEMS_ENABLED=trueдля активации.