Ansible Builder#
Утилита Ansible Builder является универсальным инструментом для создания образов среды исполнения (EE). Для этого она предоставляет несколько команд с различными аргументами, описание которых приводится далее.
Вызов утилиты имеет следующий вид:
ansible-builder <command> [<arguments>]
Здесь:
<command> – команда;
<arguments> – аргументы команды.
Возможные команды:
build – создание образа контейнера.
create – создание файла спецификации образа.
introspect – поиск в каталоге проекта сведений о коллекциях и вывод информации об зависимостях.
build
#
Аргументы команды:
- -h, --help#
Справочная информация о команде.
- -t TAG [TAG ...], --tag TAG [TAG ...]#
Название создаваемого образа (по умолчанию –
ansible-execution-env:latest
).
- --container-runtime {podman,docker}#
Система управления контейнерами:
docker
– Docker;podman
– Podman.
Значение по умолчанию –
podman
.
- --build-arg BUILD_ARGS#
Переменные, которые могут быть использованы во время сборки:
ANSIBLE_GALAXY_CLI_COLLECTION_OPTS
– позволяет пользователю передать параметр–pre
для команды установки коллекций (ansible-galaxy collections install
), чтобы разрешить установку предварительных выпусков коллекций.ANSIBLE_GALAXY_CLI_ROLE_OPTS
– позволяет пользователю передавать любые параметры для команды установки ролей, такие как–no-deps
.EE_BASE_IMAGE
– указывает родительский образ для среды исполнения.EE_BUILDER_IMAGE
– указывает образ, используемый для компиляции типовых задач.PKGMGR_PRESERVE_CACHE
– контролирует частоту очистки кеша менеджера пакетов в процессе сборки образа. Если это значение не задано, кеш очищается наиболее часто. Если задано значениеalways
, кеш никогда не очищается. Любое другое значение заставляет очищать кеш только после установки системных зависимостей на заключительном этапе сборки образа.
- --no-cache#
Отключение кеширования во время сборки образа.
- --prune-images#
Удаление неиспользуемых образов после создания образа.
- --container-policy {system,ignore_all,signature_required}#
Политика проверки образа контейнера:
system
– использование системной политики или подписи со встроенными путями к связкам ключей;ignore_all
– игноририрование всех подписей;signature_required
– использование подписей, указанных с помощью параметра--container-keyring
.
Важно
Аргумент поддерживается только при использовании Podman.
- --container-keyring CONTAINER_KEYRING#
Путь к хранилищу контейнера, которое может использоваться для хранения и управления учетными данными контейнера, а также для обеспечения безопасного доступа к защищенным ресурсам.
- --squash {new,all,off}#
Объединение слоев во время сборки, что позволяет уменьшить размер конечного образа:
new
– существовавшие ранее слои не изменяются, а все новые слои объединяются в один;all
– все слои образа объединяются в один;off
– объединение слоев отключено.
Значение по умолчанию –
off
.Важно
Аргумент поддерживается только при использовании Podman.
- -f FILENAME, --file FILENAME#
Путь к файлу определения среды исполнения.
Значение по умолчанию –
execution-environment.(yml|yaml)
.
- -c BUILD_CONTEXT, --context BUILD_CONTEXT#
Каталог, который будет использоваться для хранения контекста сборки.
Значение по умолчанию –
context
.
- --output-filename {Containerfile,Dockerfile}#
Название файла для записи определения образа, зависит от
--container-runtime
:Containerfile
– Podman;Dockerfile
– Docker.
- --galaxy-keyring GALAXY_KEYRING#
Путь к хранилищу для проверки подписи коллекции при загрузке из Galaxy. Проверка отключена, если она не настроена.
- --galaxy-ignore-signature-status-codes GALAXY_IGNORE_SIGNATURE_STATUS_CODES#
Позволяет игнорировать определенные коды состояния подписи при работе с Galaxy. Может быть указано несколько раз.
- --galaxy-required-valid-signature-count GALAXY_REQUIRED_VALID_SIGNATURE_COUNT#
Количество действительных подписей, необходимых для успешной загрузки коллекции с Ansible Galaxy.
- -v [VERBOSITY], --verbosity [VERBOSITY]#
Детализация вывода. Добавление нескольких
-v
увеличит детализацию. Максимальное значение-vvv
. Также принимаются целочисленные значения, например,-v3
или--verbosity 3
.Значение по умолчанию –
2
.
create
#
Аргументы команды:
-h
,--help
;-f FILENAME
,--file FILENAME
;-c BUILD_CONTEXT
,--context BUILD_CONTEXT
;--output-filename {Containerfile,Dockerfile}
;--galaxy-keyring GALAXY_KEYRING
;--galaxy-ignore-signature-status-codes GALAXY_IGNORE_SIGNATURE_STATUS_CODES
;--galaxy-required-valid-signature-count GALAXY_REQUIRED_VALID_SIGNATURE_COUNT
;-v [VERBOSITY]
,--verbosity [VERBOSITY]
.
Подробное описание аргументов приведено в описании команды build.
introspect
#
Аргументы команды:
- folder#
Путь к каталогу с коллекциям Ansible. Внутри указанного каталога должен существовать подкаталог
ansible_collections
.
- -h, --help#
Справочная информация о работе команды.
- --sanitize#
Очистка зависимостей или данных, которые могут быть связаны с проектом. Например, удаление непроверенных или ненадежных зависимостей, чтобы гарантировать, что результирующий список остается безопасным и актуальным.
- --user-pip USER_PIP#
Путь к файлу
requirements.txt
.
- --user-bindep USER_BINDEP#
Путь к файлу
bindep.txt
.
- --write-pip WRITE_PIP#
Путь к файлу, в который будет записан список зависимостей Python.
- --write-bindep WRITE_BINDEP#
Путь к файлу, в который будет записан список системных зависимостей.
- -v [VERBOSITY], --verbosity [VERBOSITY]#
Детализация вывода. Добавление нескольких
-v
увеличит детализацию. Максимальное значение-vvv
. Также принимаются целочисленные значения, например,-v3
или--verbosity 3
.Значение по умолчанию –
2
.