Полный перечень параметров файла config.yaml, сгруппированный по блокам. Правила переопределения переменными окружения, список обязательных параметров и типовые задачи настройки описаны в разделе Конфигурация.

У параметров без значения по умолчанию приведён пример допустимого значения: он показывает форму записи, а не рекомендуемую величину.

server

Сетевые параметры, лимиты и доверие обратному прокси.

Подробнее — в разделах Обратный прокси и Мониторинг.

ПараметрОписание
listenАдрес и порт, на которых сервер принимает HTTP-запросы.
По умолчанию: :8080
public_base_urlВнешний адрес инстанса. Подставляется в адреса, которые сервер сообщает клиентам.
По умолчанию: нет.
Пример: https://galleon.example.com
max_upload_sizeПредельный размер файла, загружаемого в репозиторий. Значение 0 снимает ограничение, и тогда фактический предел задаёт обратный прокси.
По умолчанию: 0.
Пример: 10GB
tls.cert_fileПуть к файлу сертификата в формате PEM. Внутри файла сначала идёт сертификат сервера, затем промежуточные сертификаты. TLS включается, только если задан и tls.key_file (TLS).
По умолчанию: нет.
Пример: /etc/galleon/tls/fullchain.pem
tls.key_fileПуть к файлу закрытого ключа в формате PEM. Ключи с парольной фразой не принимаются. TLS включается, только если задан и tls.cert_file.
По умолчанию: нет.
Пример: /etc/galleon/tls/privkey.pem
max_control_bodyПредельный размер тела запроса к API управления — создания репозиториев, пользователей, ролей.
По умолчанию: 256K
max_query_value_bytesПредельная длина одного значения в строке запроса, после знака ?. Значение 0 снимает ограничение.
По умолчанию: 4096
max_header_bytesПредельный суммарный размер заголовков запроса в байтах.
По умолчанию: 1048576
read_timeoutПредельное время чтения запроса целиком, вместе с телом. Значение 0s снимает ограничение, чтобы медленные загрузки успевали завершиться.
По умолчанию: 0s.
Пример: 30m
read_header_timeoutПредельное время чтения заголовков. Защищает от соединений, которые открыты, но запрос не присылают.
По умолчанию: 10s
idle_timeoutВремя, после которого простаивающее keep-alive-соединение закрывается.
По умолчанию: 120s
trusted_proxiesАдреса обратных прокси в нотации CIDR или отдельными IP-адресами. Заголовкам запросов от них можно доверять.
По умолчанию: [].
Пример: ["10.0.0.0/8"]
proxy_auth.headerЗаголовок, в котором обратный прокси передаёт общий секрет.
По умолчанию: X-Origin-Token
proxy_auth.secret_envИмя переменной окружения, из которой читается этот секрет.
По умолчанию: нет.
Пример: GALLEON_ORIGIN_TOKEN
trust_forwarded_headersУчитывать заголовки X-Forwarded-Host и X-Forwarded-Proto при построении адресов для клиентов.
По умолчанию: false
monitoring_allowlistАдреса, которым доступны health-эндпоинты. Остальным они отвечают как несуществующий путь.
По умолчанию: ["127.0.0.0/8", "::1/128"].
Пример: ["127.0.0.0/8", "10.0.0.0/8"]

database

Подключение к PostgreSQL и пулы соединений.

При изменении размеров пулов пересчитайте max_connections базы данных: нужно max_open_conns × 2 + registry_max_open_conns + superuser_reserved_connections. Откуда берутся слагаемые, объяснено в разделе Конфигурация.

ПараметрОписание
hostАдрес сервера базы данных.
По умолчанию: localhost.
Пример: postgres.internal
portПорт сервера базы данных.
По умолчанию: 5432.
Пример: 6432
userИмя роли базы данных.
По умолчанию: нет.
Пример: galleon
dbnameИмя базы данных.
По умолчанию: нет.
Пример: galleon
password_envИмя переменной окружения с паролем. Без этого ключа подключение выполняется без пароля.
По умолчанию: нет.
Пример: GALLEON_DATABASE_PASSWORD
sslmodeРежим TLS-подключения к базе данных: disable, require, verify-ca или verify-full.
По умолчанию: disable.
Пример: verify-full
connect_timeoutПредельное время установления соединения с базой данных.
По умолчанию: 5s
migrate_waitСколько ждать базу данных перед миграциями, если она ещё поднимается. 0 — не ждать и завершиться сразу.
По умолчанию: 0s.
Пример: 5m
max_open_connsРазмер каждого из двух основных пулов соединений.
По умолчанию: 40.
Пример: 80
max_idle_connsЧисло соединений, которые эти пулы держат открытыми в простое.
По умолчанию: 5
registry_max_open_connsРазмер отдельного пула соединений для работы с образами контейнеров.
По умолчанию: 25.
Пример: 40
statement_timeoutПредельное время выполнения одного SQL-запроса. На миграции не распространяется.
По умолчанию: 30s
lock_timeoutПредельное время ожидания блокировки в базе данных.
По умолчанию: 10s
idle_in_transaction_session_timeoutПредельное время простоя внутри открытой транзакции.
По умолчанию: 60s
max_conn_lifetimeВремя жизни соединения, после которого оно пересоздаётся.
По умолчанию: 30m
max_conn_idle_timeВремя простоя соединения, после которого оно закрывается.
По умолчанию: 5m

storage

Файловое хранилище артефактов. Ключи задаются для именованного хранилища; backend с именем default обязателен.

Устройство каталога описано в разделе Хранилище и сборка мусора.

ПараметрОписание
typeТип хранилища. Поддерживается только local.
По умолчанию: нет.
Пример: local
local.rootКорневой каталог хранилища.
По умолчанию: нет.
Пример: /var/lib/galleon/data

security

Шифрование хранимых секретов.

Подробнее — в разделе Секреты и ключ шифрования.

ПараметрОписание
secret_key_fileПуть к файлу ключей шифрования. Параметр обязателен: без него сервер не запускается.
По умолчанию: нет.
Пример: /etc/galleon/secret-key.yaml

auth

Первый администратор, кеш проверки паролей и сессии веб-интерфейса.

Подробнее — в разделе Первичная настройка.

ПараметрОписание
bootstrap_admin.usernameИмя первого администратора.
По умолчанию: нет.
Пример: admin
bootstrap_admin.password_envИмя переменной окружения с паролем первого администратора.
По умолчанию: нет.
Пример: GALLEON_BOOTSTRAP_ADMIN_PASSWORD
bootstrap_admin.password_hashBcrypt-хеш пароля. Имеет приоритет над password_env.
По умолчанию: нет.
Пример: $2a$12$LQv3c1yqBWVHxkd0...
bootstrap_admin.force_password_changeТребовать смену пароля при первом входе.
По умолчанию: false
credential_cache_ttlСколько результат проверки пароля хранится в памяти. Значение 0s отключает кеш, и пароль проверяется заново на каждый запрос клиента.
По умолчанию: 60s.
Пример: 0s
session_max_lifetimeПредельное время жизни сессии веб-интерфейса независимо от активности.
По умолчанию: 168h.
Пример: 24h
session_idle_timeoutВремя бездействия, после которого сессия завершается.
По умолчанию: 168h.
Пример: 8h

oci

Параметры скачивания образов контейнеров из внешних реестров.

ПараметрОписание
proxy.blob_idle_windowДопустимая пауза в передаче данных при скачивании слоя из внешнего реестра. После неё соединение обрывается.
По умолчанию: 60s
proxy.db_mirror_timeoutПредельное время записи метаданных скачанного слоя в базу данных.
По умолчанию: 60s

gc

Сборка мусора в хранилище. Семантика описана в разделе Хранилище и сборка мусора.

ПараметрОписание
autoПлановые циклы по расписанию. Ручной запуск работает независимо от этого значения.
По умолчанию: true.
Пример: false
intervalПауза между плановыми циклами.
По умолчанию: 5m.
Пример: 15m
grace_periodМинимальный возраст файла, допускающий его удаление.
По умолчанию: 24h.
Пример: 5m
batch_sizeСколько файлов-кандидатов отбирается за один запрос к базе данных.
По умолчанию: 500.
Пример: 1000
max_durationПредельная длительность одного цикла. Остаток обрабатывает следующий цикл.
По умолчанию: 15m.
Пример: 5m

index

Фоновое построение индексов репозиториев — служебных файлов, которые Galleon генерирует сам: списков версий, метаданных пакетов.

Число обработчиков подбирается по нагрузке: чем их больше, тем быстрее индексы обновляются после публикаций. Значение workers: 0 полностью останавливает фоновое построение индексов и в промышленной установке задаваться не должно.

ПараметрОписание
workersЧисло обработчиков очереди построения.
По умолчанию: 4.
Пример: 8
poll_intervalПауза между опросами очереди заданий.
По умолчанию: 1s.
Пример: 5s
max_backoffПредельная задержка перед повтором задания, завершившегося ошибкой.
По умолчанию: 1h.
Пример: 15m
lease_durationВремя, на которое обработчик забирает задание. Если он не завершил работу, задание возвращается в очередь.
По умолчанию: 5m.
Пример: 10m
backfill_on_startДостраивать недостающие индексы при запуске сервера.
По умолчанию: true.
Пример: false

logging

Журнал сервера.

Подробнее — в разделе Логирование.

ПараметрОписание
levelПорог логов Galleon: debug, info, warn или error.
По умолчанию: info.
Пример: debug
formatФормат записей журнала.
По умолчанию: json.
Пример: text
registry_levelОтдельный порог для записей о работе с образами контейнеров.
По умолчанию: warn.
Пример: info

proxy

Защита исходящих запросов proxy-репозиториев.

Адреса сервисов метаданных облачных провайдеров заблокированы всегда, независимо от этих настроек.

ПараметрОписание
ssrf.block_private_networksЗапрещать обращения proxy-репозиториев к приватным сетям.
По умолчанию: true.
Пример: false
ssrf.allowlist.ipsАдреса, разрешённые в обход запрета.
По умолчанию: [].
Пример: ["10.0.0.10"]
ssrf.allowlist.domainsДомены, разрешённые в обход запрета.
По умолчанию: [].
Пример: ["registry.internal.example.com"]