buildbox_casd
buildbox-casd - для настройки кэш-сервера BuildBox-CASD REAPI
Стандартная Конфигурация
В этой роли предоставлена стандартная конфигурация. Она создает сервис кэширования на основе Docker-образа freedesktop-sdk buildbox-casd с постоянным хранилищем. Определены следующие переменные:
casd_cache
: путь к кэшу на хостеcasd_docker_host
: путь (или адрес) для подключения к Docker API, можно использовать, например, для запуска контейнера с podmancasd_image
: Docker-образ, который будет использоваться для создания контейнераcasd_container
: имя контейнераcasd_network
: имя Docker-сети, которую нужно создать и к которой нужно подключить контейнер сервисаcasd_network_connected_containers
: список контейнеров для подключения к создаваемой сети для buildbox-casdcasd_log_driver
: драйвер журналов, который будет использоваться для контейнера buildbox-casdcasd_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-casdcasd_metrics_publish_interval_secs
: как часто метрики публикуются buildbox-casd, в секундахcasd_metrics_prefix
: установки префикса для имен метрик, если не задан, аргумент--metrics-prefix
не передается buildbox-casdcasd_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"
ansible-galaxy install codethinklabs/ansible-role-buildbox-casd