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 - Хуан Давид Уртадо Г.

О проекте

Helps configure a server as a BastilleBSD host

Установить
ansible-galaxy install yaazkal/ansible-role-bastille
Лицензия
bsd-3-clause
Загрузки
90
Владелец
Photographer, engineer or entrepreneur are just words. More than that, I'm not my professions.