Руководство по обновлению
С v0.8 на v0.9
Заголовок раздела «С v0.8 на v0.9»v0.9 обратно совместима по всем возможностям и хранилищу. Единственное необходимое действие — обновить переименованные переменные окружения, если вы используете какие-либо из переименованных имён, перечисленных ниже.
Что изменилось
Заголовок раздела «Что изменилось»| Возможность | Влияние | Требуемое действие |
|---|---|---|
| Изоляция пространств имён Docker | В структуру хранилища добавляется префикс пространства имён | Нет — ленивая миграция выполняется автоматически |
| Circuit breaker | Новая возможность, отключена по умолчанию | Нет |
| TTL метаданных Docker + stale-while-error | Новая возможность, включается вручную | Нет |
| Потоковый read_timeout | Новая возможность, включается вручную | Нет |
| Горячая перезагрузка курирования по SIGHUP | Новая возможность | Нет |
| Бинарный файл linux/arm64 | Новая платформа | Нет |
Миграция пространств имён Docker
Заголовок раздела «Миграция пространств имён Docker»В v0.9 вводятся префиксы пространств имён для каждого вышестоящего источника в ключах хранилища Docker, чтобы изолировать данные из разных вышестоящих реестров.
Старая структура (v0.8):
docker/{name}/blobs/{digest}docker/{name}/manifests/{ref}.jsonНовая структура (v0.9):
docker/{namespace}/{name}/blobs/{digest}docker/{namespace}/{name}/manifests/{ref}.jsonПространство имён определяется по URL вышестоящего источника (например, registry-1.docker.io превращается в docker.io) или задаётся явно через поле namespace в [[docker.upstreams]].
Миграция автоматическая и ленивая:
- При обработке запроса NORA сначала проверяет путь с пространством имён.
- Если он не найден, происходит откат к устаревшему плоскому пути.
- Никакой фоновой миграции при запуске не выполняется.
- Существующие закэшированные данные продолжают отдаваться без перебоев.
Шаги обновления
Заголовок раздела «Шаги обновления»- Остановите работающий экземпляр NORA.
- Замените бинарный файл или обновите образ контейнера до v0.9.
- Запустите NORA с вашей существующей конфигурацией.
# Binary upgradecurl -fsSL https://github.com/getnora-io/nora/releases/latest/download/nora-linux-amd64 -o norachmod +x nora./noraСкрипты миграции данных не требуются.
Чтобы откатиться с v0.9 на v0.8:
- Остановите экземпляр v0.9.
- Замените бинарный файл или образ на v0.8.
- Запустите NORA.
Новые переменные окружения
Заголовок раздела «Новые переменные окружения»В v0.9 добавлены следующие необязательные переменные (все отключены или неактивны по умолчанию):
| Переменная | По умолчанию | Описание |
|---|---|---|
NORA_CB_ENABLED | false | Включить circuit breaker |
NORA_CB_THRESHOLD | 5 | Число сбоев до размыкания |
NORA_CB_RESET_TIMEOUT | 30 | Секунд до пробного запроса |
NORA_DOCKER_READ_TIMEOUT | 60 | Таймаут чтения одного фрагмента (секунды) |
NORA_DOCKER_METADATA_TTL | -1 | TTL кэша метаданных в секундах |
NORA_DOCKER_SERVE_STALE | true | Отдавать закэшированные манифесты, когда вышестоящий источник недоступен |
Полный справочник см. в Справочнике по конфигурации.
Переименованные переменные окружения
Заголовок раздела «Переименованные переменные окружения»В v0.9 несколько имён переменных сокращены в соответствии с соглашением NORA_{SECTION}_{FIELD} (менее 30 символов):
| Старое имя | Новое имя |
|---|---|
NORA_TF_ENABLED | NORA_TF_ENABLED |
NORA_TF_PROXY | NORA_TF_PROXY |
NORA_TF_PROXY_TIMEOUT | NORA_TF_PROXY_TIMEOUT |
NORA_TF_METADATA_TTL | NORA_TF_METADATA_TTL |
NORA_TF_PROXY_TIMEOUT_DL | NORA_TF_PROXY_TIMEOUT_DL |
NORA_CONAN_PROXY_TIMEOUT_DL | NORA_CONAN_PROXY_TIMEOUT_DL |
NORA_CURATION_INTERNAL_NS | NORA_CURATION_INTERNAL_NS |
Старые имена больше не распознаются. Обновите свою конфигурацию, если вы используете какие-либо из них.
Смотрите также
Заголовок раздела «Смотрите также»- Справочник по конфигурации — полный справочник по переменным окружения
- Circuit Breaker — новое в v0.9
- Проксирование Docker — подробности об изоляции пространств имён