buildbox_casd

buildbox-casd - для настройки кэш-сервера BuildBox-CASD REAPI

Стандартная Конфигурация

В этой роли предоставлена стандартная конфигурация. Она создает сервис кэширования на основе Docker-образа freedesktop-sdk buildbox-casd с постоянным хранилищем. Определены следующие переменные:

  • casd_cache: путь к кэшу на хосте
  • casd_docker_host: путь (или адрес) для подключения к Docker API, можно использовать, например, для запуска контейнера с podman
  • casd_image: Docker-образ, который будет использоваться для создания контейнера
  • casd_container: имя контейнера
  • casd_network: имя Docker-сети, которую нужно создать и к которой нужно подключить контейнер сервиса
  • casd_network_connected_containers: список контейнеров для подключения к создаваемой сети для buildbox-casd
  • casd_log_driver: драйвер журналов, который будет использоваться для контейнера buildbox-casd
  • casd_log_options: дополнительные параметры для передавать драйверу журналов
  • casd_port: порт, на котором сервис слушает в контейнере и который открывается на контейнере
  • casd_published_ports: список спецификаций docker-портов, которые будут опубликованы. Это не влияет на то, будет ли порт, на котором слушает buildbox-casd, открыт.
  • casd_bind_address: адрес, на котором сервис слушает внутри контейнера
  • casd_quota_high: максимальный размер локального кэша
  • casd_cache_mnt: путь для монтирования кэша в контейнере
  • casd_cmd: точка входа контейнера
  • casd_bind_path: путь к UNIX-сокету для обслуживания. Если установлен, casd_bind_address и casd_port полностью игнорируются и сервис не открывается.
  • casd_extra_mounts: дополнительные монтирования Docker-типа для добавления в контейнер. Полезно для совместного использования UNIX-сокета
  • casd_proxy_certdir: путь для копирования данных сертификата/ключа на хосте, этот шаг пропускается, если путь оставлен пустым
  • casd_proxy_{cas,ac,asset,execution}_url: URL удаленного сервиса для проксирования запросов
  • casd_proxy_{cas,ac,asset,execution}_server_cert: CA-сертификат для проверки удаленного сервера
  • casd_proxy_{cas,ac,asset,execution}_client_{cert,key}: TLS-ключи, используемые для аутентификации клиента на удаленном сервере
  • casd_metrics_mode: опция для --metrics-mode buildbox-casd
  • casd_metrics_publish_interval_secs: как часто метрики публикуются buildbox-casd, в секундах
  • casd_metrics_prefix: установки префикса для имен метрик, если не задан, аргумент --metrics-prefix не передается buildbox-casd
  • casd_labels: словарь, содержащий набор меток, применяемых к контейнеру

Примеры Конфигураций

Автономный Кэш-Сервер

В этом случае стандартная конфигурация должна работать нормально.

Кэш Прокси

Работает как кэш-прокси для запросов к другому кэшу REAPI. Предположим, мы хотим использовать CAS и Action Cache, работающие по адресу https://re.example.com, и удаленный сервер активов по адресу https://ra.example.com. Тогда наша конфигурация будет выглядеть примерно так:

casd_proxy_cas_url: "https://re.example.com"
casd_proxy_ac_url: "https://re.example.com"
casd_proxy_asset_url: "https://ra.example.com"

Если конечные точки требуют различных TLS-сертификатов, это можно обработать с помощью соответствующих переменных.

Обслуживание через UNIX-сокет

Также возможно, чтобы buildbox-casd обслуживался только через UNIX-сокет. В этом случае нам нужно установить переменную casd_bind_path, которая переопределяет эффекты casd_bind_address и casd_port.

casd_extra_mounts:
  - "casd_sock:/sock"
casd_bind_path: "/sock/casd.sock"
О проекте

Deploy buildbox-casd in a docker container

Установить
ansible-galaxy install codethinklabs/ansible-role-buildbox-casd
Лицензия
mit
Загрузки
155
Владелец
see also https://gitlab.com/codethinklabs