passbolt

Passbolt

Ansible роль для установки и настройки приложения Passbolt на дистрибутивах RHEL/CentOS (на данный момент).

Переменные роли

Это настраиваемые переменные для этой роли, которые предопределены в defaults/main.yml с значениями по умолчанию. Вам может понадобиться переопределить их в зависимости от ваших потребностей. Большинство из них неподходящи для производственной среды.

Основные переменные

passbolt_version: # Определяет версию приложения
passbolt_archive: # Определяет полное имя архива приложения
passbolt_dl_url: # Определяет URL для загрузки приложения

Переменные, связанные с конфигурацией PHP-fpm

passbolt_php_fpm_includedir: # Определяет каталог конфигурации пулов php-fpm
passbolt_php_fpm_pool: # Определяет абсолютный путь к конфигурации пула приложения
passbolt_php_fpm_user: # Определяет, от имени какого пользователя будет работать php-fpm
passbolt_php_fpm_group: # Определяет, от имени какой группы будет работать php-fpm
passbolt_php_fpm_owner: # Определяет владельца сокета php-fpm
passbolt_php_fpm_group: # Определяет группу сокета php-fpm
passbolt_php_fpm_mode: # Определяет режим сокета php-fpm (чаще всего, если используется файл сокета)
passbolt_php_fpm_whitelist: # Определяет список IP/имён хостов, которым разрешено общаться с php-fpm
passbolt_php_fpm_listen: # Определяет метод сокета php-fpm (основанный на файле, хост:порт и т.д.)
passbolt_php_fpm_listen_port: # Определяет порт сокета php-fpm, когда не используется `unix:`-uri из passbolt_php_fpm_listen

Переменные, связанные с настройкой базы данных

passbolt_dbhost: # Определяет хост базы данных для подключения
passbolt_dbuser: # Определяет пользователя базы данных
passbolt_dbpass: # Определяет пароль базы данных
passbolt_dbname: # Определяет имя базы данных для подключения

Переменные, связанные с настройкой SMTP

passbolt_smtp_host: # Определяет хост SMTP-сервера для подключения
passbolt_smtp_port: # Определяет порт SMTP-сервера
passbolt_smtp_auth: # Определяет метод аутентификации SMTP (TLS, SSL). Оставьте пустым, если не требуется.
passbolt_smtp_user: # Определяет пользователя SMTP (если установлена аутентификация)
passbolt_smtp_pass: # Определяет пароль SMTP (если установлена аутентификация)
passbolt_smtp_timeout: # Определяет разрешенное время ожидания подключения SMTP
passbolt_smtp_sender: # Определяет имя отправителя
passbolt_smtp_sender_email: # Определяет электронную почту отправителя

passbolt_error_report: # Определяет, нужно ли приложению отправлять сообщения об ошибках SQL
passbolt_error_report_email: # Определяет получателя для уведомлений

Зависимости

  • geerlingguy.repo-remi Когда переменная passbolt_install_php равна true.

  • jdauphant.nginx Когда переменная passbolt_install_webserver равна true.

  • geerlingguy.php Когда переменная passbolt_install_php равна true.

  • geerlingguy.mysql Когда переменная passbolt_install_dbserver равна true.

Обратите внимание, что если вы используете другие роли, отличные от указанных выше, подумайте о том, чтобы установить эти переменные в False и убедиться, что вы сначала выполнили и развернули их.

Также вы можете заменить веб-сервер NGINX на Apache или другой, если это то, что используется в вашей инфраструктуре. Эта роль не включает предопределённую веб-конфигурацию. Она настраивается через переменные NGINX, предоставляемые этой ролью (см. tests/test.yml для получения дополнительных сведений).

Пример Playbook

    - hosts: vault-servers
      vars:
        nginx_sites:
            passbolt:
                - listen 443 ssl
                - server_name vault.domain.tld
                - ssl_certificate     /etc/ssl/domain.tld.cert
                - ssl_certificate_key /etc/ssl/domain.tld.key
                - server_tokens off
                - root "{{ passbolt_webroot }}"
                - location / { try_files $uri /index.php$is_args$args; }
                - location ~ \.php(/|$) {
                  fastcgi_pass {{ passbolt_php_fpm_listen }};
                  fastcgi_split_path_info ^(.+\.php)(/.*)$;
                  fastcgi_read_timeout 500;
                  include fastcgi_params;
                  fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
                  fastcgi_param SERVER_NAME $http_host;
                  fastcgi_param DOCUMENT_ROOT $realpath_root;
                  internal;
                  }
      roles:
         - {
            role: laxathom.passbolt
        }

Тестирование

  • Требования к хосту
    • Движок Docker. Убедитесь, что он установлен и работает.

Настройка окружения ansible

printf '[defaults]\nroles_path=../\nhost_key_checking = False' > ansible.cfg

Установите необходимые зависимости для тестирования

% ansible-galaxy install -r tests/requirements.yml -p tests/roles

Затем выполните плейбук для тестирования развертывания

% sudo ansible-playbook -vv -i tests/inventory tests/test.yml

После завершения вы сможете получить доступ к развернутому и работающему приложению по адресу http://localhost:8080/

О проекте

Ansible role to install and configure passbolt API

Установить
ansible-galaxy install laxathom/ansible-role-passbolt
Лицензия
mit
Загрузки
82
Владелец