bastille
ansible-role-bastille
Это ansible-роль, которая помогает настроить сервер как хост для BastilleBSD для запуска контейнеров (основанных на тюрьмах) в FreeBSD.
Это роль ansible, находящаяся в разработке. В данный момент предполагается использование локального интерфейса для сетевого подключения. Используйте на свой страх и риск.
Установка этой роли
Просто выполните команду ansible-galaxy install yaazkal.bastille
на вашем компьютере. Затем интегрируйте роль в свой собственный плейбук (см. пример ниже).
Требования
- Поддерживаемая версия FreeBSD. Смотрите поддерживаемые версии
- Установлен Python на целевом хосте.
- Рекомендуется установить
ca_root_nss
, особенно на FreeBSD 11.4 (EOL), чтобы не возникло ошибок при установке пользовательской версии Bastille из тега github.
Переменные роли
Это переменные роли и их значения по умолчанию, задайте их в host_vars
или при определении хоста, как вам нужно (см. пример).
Переменная | Значение по умолчанию | Описание |
---|---|---|
bastille_version | Если задано, устанавливает указанную версию (тег) из репозитория bastille вместо доступной версии pkg. | |
bastille_prefix | /usr/local/bastille | Где располагаются тюрьмы, релизы, шаблоны, бэкапы и т.д. |
bastille_zfs_enable | Установите на YES, чтобы включить некоторые функции ZFS (рекомендуется). | |
bastille_zfs_zpool | ZFS-POOL, где Bastille будет хранить свои файлы и тюрьмы. | |
bastille_timezone | Etc/UTC | |
bastille_ext_if | vtnet0 | Внешний сетевой интерфейс. |
bastille_releases | 13.2-RELEASE | Список доступных релизов для создания тюрем. |
bastille_templates | Список git-репозиториев, где размещены шаблоны. Эти шаблоны будут доступны для тюрем. | |
bastille_jails | Список тюрем, которые нужно создать. Смотрите пример для опций. |
Зависимости
Нет.
Пример плейбука
Плейбук может выглядеть так:
# Имя файла: bastille_provision.yml
- name: "Начальная настройка системы"
hosts: bastille
roles:
- yaazkal.bastille
Файл инвентаря может выглядеть так (в этом примере переопределяются все значения по умолчанию):
# Имя файла: hosts.yml
bastille:
hosts:
example.com:
ansible_user: root
bastille_version: "0.9.20210714"
bastille_timezone: "America/Bogota"
bastille_zfs_enable: "YES"
bastille_zfs_zpool: "zroot"
bastille_ext_if: "vtnet0"
bastille_releases:
- 13.2-RELEASE
- 12.4-RELEASE
bastille_templates:
- https://gitlab.com/bastillebsd-templates/nginx
- https://github.com/yaazkal/bastille-postgres
bastille_jails:
- name: defaultjail
release: 13.2-RELEASE
ip: 10.17.89.1
templates:
- "bastillebsd-templates/nginx"
- name: thickjail
release: 13.2-RELEASE
ip: 10.17.89.2
options: -T
После этого вы можете выполнить команду:
ansible-playbook -i hosts.yml bastille_provision.yml
Лицензия
BSD 3 clause. См. файл LICENSE.
Информация об авторе
@yaazkal - Хуан Давид Уртадо Г.
ansible-galaxy install yaazkal/ansible-role-bastille