Перейти к основному содержимому

Конфигурационный файл 2GIS CLI

Перед запуском утилиты 2GIS CLI создайте конфигурационный файл.

Структура файла:

key: <License key>
log-format: <text | json>

storage:
type: <s3 | fs>

# Настройки для S3-совместимого хранилища
host: <Installation Artifacts Storage host name and port>
secure: <bool>
bucket: <Installation Artifacts Storage bucket name>
access-key: <Installation Artifacts Storage access key>
secret-key: <Installation Artifacts Storage secret key>

# Настройки для хранилища на файловой системе
directory: <target directory on a filesystem>

docker:
registry:
username: <Docker Registry username>
password: <Docker Registry password>
server-address: <Docker Registry URL>
image-prefix: <Additional prefix (optional)>

temp-storage:
type: <s3 | memory | disk>

# Хранение промежуточных данных в S3-совместимом хранилище
prefix: my-dgctl-tmp-
s3:
host: s3.example.com
bucket: dgctl-tmp
access-key: my-access-key
secret-key: my-secret-key
key-prefix: tmp/

# Хранение промежуточных данных в памяти
memory:
max-size: 1GiB

# Хранение промежуточных данных на диске и отключение отката в память
fallback-to-memory: false
disk:
directory: /var/tmp/dgctl

# Для утилиты версии 3
components:
core:
version: <core-version>
api-platform:
version: <api-platform-version>
pro:
version: <pro-version>
citylens:
version: <citylens-version>

Где:

  • key: лицензионный ключ для доступа к программному комплексу 2ГИС.

  • log-format: формат логов — text или json. Все логи выводятся в стандартный поток вывода (stdout).

  • storage: настройки для используемого типа хранилища.

    Требования к настройкам хранилищ

    Один конфигурационный файл может содержать настройки только для одного типа хранилища. Если требуется запускать 2GIS CLI для разных типов хранилища, создайте для каждого из них отдельные конфигурационные файлы.

    • Для S3-совместимого хранилища:

      • type: тип хранилища. Значение должно быть s3.
      • host: FQDN endpoint-а S3-совместимого хранилища.
      • secure: использовать ли HTTPS для работы с S3-совместимым хранилищем. Значение по умолчанию: false.
      • bucket: имя бакета для хранения артефактов установки.
      • access-key: идентификатор ключа (S3 access key).
      • secret-key: секретный ключ (S3 secret key).
    • Для хранилища на файловой системе:

      • type: тип хранилища. Значение должно быть fs.

      • directory: целевая директория в файловой системе, куда будут загружаться артефакты установки.

        Монтирование директории к Docker-контейнеру выполняется с помощью аргумента -v <путь>:/dgctl-source при запуске утилиты, см. справку по командам и аргументам 2GIS CLI.

        Путь к директории следует указывать в том виде, в котором она доступна изнутри Docker-контейнера. Аргументы в справке по командам и аргументам 2GIS CLI подобраны так, чтобы работать с путём /dgctl-source (для режима pull) или /dgctl-target (для режима restore).

  • docker.registry: настройки для доступа к реестру Docker. Если при выбранном сценарии использования 2GIS CLI реестр не используется, этот блок настроек можно опустить.

    • username: имя пользователя.
    • password: пароль.
    • server-address: URL реестра.
    • image-prefix: дополнительный префикс, под которым будут храниться образы сервисов программного комплекса 2ГИС. Все образы сервисов, скачанные при помощи 2GIS CLI, имеют предустановленный префикс 2gis-on-premise. Его не нужно указывать здесь.
  • temp-storage: место хранения промежуточных данных (например, tar-архивов Docker-образов при их перемещении в реестр). Блок настроек необязателен: если их не указать, для хранения используется системная temp-директория с автоматическим откатом в оперативную память при нехватке места. Используйте один бэкенд и не комбинируйте настройки для разных бэкендов в одном разделе temp-storage.

    • Для S3-совместимого хранилища:

      • type: бэкенд хранилища. Значение должно быть s3.
      • prefix: префикс имён временных объектов. При очистке утилита 2GIS CLI удаляет все объекты с этим префиксом, поэтому при параллельной работе нескольких утилит в одном бакете задайте разные префиксы.
      • s3: настройки S3-совместимого хранилища.
        • host: адрес S3-совместимого хранилища.
        • bucket: имя бакета в хранилище.
        • access-key: ключ доступа к хранилищу.
        • secret-key: секретный ключ доступа к хранилищу.
        • key-prefix: префикс ключа внутри бакета. Дописывается перед именем временного объекта.
      Использование S3-совместимого хранилища

      Используйте s3 только если локальный диск недоступен. S3-бэкенд медленнее локального диска: библиотека go-containerregistry открывает tar-архив несколько раз, и каждое открытие становится отдельным GET-запросом.

    • Для оперативной памяти:

      • type: бэкенд хранилища. Значение должно быть memory.
      • memory.max-size: максимальный размер одного объекта в памяти. 0 — без лимита. Размер можно задавать числом байт (1024) или человекочитаемой строкой (2GiB, 512m, 100MB).
    • Для локального диска:

      • type: бэкенд хранилища. Значение должно быть disk.
      • fallback-to-memory: автоматический откат на запись в память, когда основной бэкенд недоступен (например, если нет прав или закончилось место). Чтобы отключить откат в память, укажите false. При temp-storage.type: memory этот параметр игнорируется.
      • disk.directory: путь к директории на локальном диске для хранения временных объектов.
  • components: список компонентов и их версий для установки.

    • core: базовые сервисы — компонент для работы любых других компонентов программного комплекса On-Premise. Включает в себя сервис лицензий и сервис API-ключей. Номера версий компонента см. в разделе Релизы базовых сервисов.

    • api-platform: API-платформа, включает в себя API для работы с картами, поиском и навигацией, сервис сбора статистики, прокси для API пробок и Менеджер Платформы. Номера версий компонента см. в разделе Релизы API-платформы.

    • pro: 2ГИС Про, включает в себя сервисы Pro API и Pro UI. Номера версий компонента см. в разделе Релизы 2ГИС Про.

    • citylens: 2ГИС Ситискан, включает в себя сервисы CityLens API, CityLens Routing API и CityLens Routing UI. Номера версий компонента см. в разделе Релизы 2ГИС Ситискан.

      предупреждение

      Для каждого компонента укажите номер версии в параметре version. Не указывайте номера сервисов, входящих в состав компонента. Список компонентов и ссылки на описание релизов см. выше.