При первом старте с пустой базой данных Galleon создаёт первого администратора и стартовый набор репозиториев.

Bootstrap-администратор

Первая учётная запись администратора описывается блоком auth.bootstrap_admin конфигурации: имя пользователя и пароль — через переменную окружения (password_env) либо сразу bcrypt-хешем (password_hash, имеет приоритет).

Учётная запись создаётся, только если роль admin не назначена ни одному пользователю.

После того как администратор создан, блок bootstrap_admin игнорируется: смена значения переменной с паролем не меняет пароль существующей учётной записи (в логе сервера появится предупреждение «bootstrap_admin is configured but an admin already exists»). Пароль меняется только через веб-интерфейс.

Средств восстановления утерянного пароля администратора в Galleon нет: сбросить его может только другой пользователь с административными правами. Поэтому сразу создайте вторую административную учётную запись — иначе единственным способом вернуть доступ останется развёртывание инстанса заново.

Опция force_password_change: true делает bootstrap-пароль одноразовым: до смены пароля пользователь заблокирован и в веб-интерфейсе, и в клиентах форматов.

Стартовое состояние

На свежей базе создаются:

  • встроенная роль admin с полным доступом и роль anonymous для анонимного чтения;
  • каталог привилегий (Управление доступом);
  • репозитории стартового набора (таблица в разделе Репозитории): proxy-зеркала Maven Central, proxy.golang.org, базы контрольных сумм Go и Docker Hub — с включённой автоблокировкой при недоступности внешнего реестра — и hosted-репозитории для Maven (релизы и snapshot-версии), Go и образов контейнеров.

Роль anonymous заранее получает привилегии чтения четырёх публичных proxy-зеркал, однако анонимный доступ не действует, пока не включён глобальный переключатель («Настройки» → «Анонимный доступ»). Hosted-репозитории стартового набора анонимно недоступны в любом случае.

Стартовый набор создаётся, только когда список репозиториев пуст: удалённые по одному репозитории при перезапуске не возвращаются. Если же удалить все репозитории до единого, при следующем старте набор будет создан заново вместе с их привилегиями и анонимными правами чтения.

Первые шаги

После первого входа bootstrap-администратором выполните следующие действия:

  1. Создайте персональные учётные записи для всех, кто администрирует инстанс, и назначьте им роль admin («Настройки» → «Пользователи»). Не работайте под bootstrap-учётной записью постоянно.
  2. Создайте роли для команд разработки из привилегий нужных репозиториев («Настройки» → «Роли», Управление доступом).
  3. Решите, нужна ли пользователям самостоятельная смена пароля: привилегия nx-userschangepw не входит ни в одну роль по умолчанию — выдайте её ролям пользователей, иначе пароли меняет только администратор.
  4. Настройте TLS, при необходимости обратный прокси и резервное копирование.