Подготовка окружения к установке

1. Отключение SELinux

Убедитесь, что SELinux отключён или переведен в режим Permissive.

2. Проверка и настройка DNS

Создайте DNS A-записи для доменов, которые будут использоваться Закрома.Диск и внешними зависимостями.

Для одноузловой конфигурации и базового кластера:

1disk.zakroma.internal -> хост(ы) с Закрома.Диск и Nginx 2webdav.zakroma.internal -> хост(ы) с Закрома.Диск и Nginx 3keycloak.zakroma.internal -> хост(ы) с Keycloak 4postgres.zakroma.internal -> хост(ы) с PostgreSQL

В инструкции используется пример домена zakroma.internal. Замените его на доменную зону вашей инфраструктуры.

3. Подготовка сертификатов

Подготовьте TLS-сертификаты и ключи для доменов:

1disk.zakroma.internal 2webdav.zakroma.internal 3keycloak.zakroma.internal

В поставке сертификаты копируются Ansible-ролью certificates, а примеры переменных находятся в inventories/<inventory>/group_vars/certificates.yml. Роль не выполняет генерацию самоподписных сертификатов, а только их распространение. Для промышленных сред используйте корпоративный центр сертификации.

4. Подготовка PostgreSQL

Создайте базу данных и схему для Закрома.Диск, а также базу и схему для Keycloak согласно инструкции по настройке PostgreSQL.

5. Подготовка Keycloak

Установите и настройте Keycloak согласно инструкции по настройке Keycloak или используйте существующий Keycloak в вашей инфраструктуре.

После подготовки Keycloak получите значения для переменных Закрома.Диск:

  • zakroma_disk_dsdrive.auth.keycloak.url
  • zakroma_disk_dsdrive.auth.keycloak.realm
  • zakroma_disk_dsdrive.auth.keycloak.clientId
  • zakroma_disk_dsdrive.auth.keycloak.secret
  • zakroma_disk_dsdrive.jwt.kid
  • zakroma_disk_dsdrive.jwt.rsa_public_key
  • zakroma_disk_auth.access_key_id
  • zakroma_disk_auth.access_key
  • zakroma_disk_dsdrive.auth.direct_grant.auth_key
  • zakroma_disk_webdav.dsdrive.auth_key

6. Подготовка Закрома.Хранение

Для полноценной работы Закрома.Диск необходима установленная и настроенная конфигурация Закрома.Хранение.

Без Закрома.Хранения не будут работать некоторые функции автоматизации создания бакетов для проектов, а также будет отсутствовать возможность ограничения квот по проектам.

Подготовьте рабочую область, ключ доступа и политику в Закрома.Хранение по инструкции Подготовка хранилища.

Полученные значения укажите в секции zakroma_disk_dsdrive.storage файла inventories/<inventory>/group_vars/zakroma-disk.yml.

7. Подготовка для работы с Ansible

  1. Проверьте SSH-доступ к каждому хосту.
  2. Убедитесь, что пользователь имеет привилегированный доступ через sudo.
  3. Установите или обновите Ansible. Рекомендуется использовать версию, совместимую с коллекциями из поставки.
  4. Если подключение выполняется по логину и паролю, установите пакет sshpass.
  5. Запускайте ansible-playbook из корневой директории распакованного архива, где находятся ansible.cfg, inventories/, playbooks/, roles/ и collections/.

Пример:

1cd zakroma-roles-2.0.1 2ANSIBLE_CONFIG=ansible.cfg ansible-playbook -i inventories/base-cluster/hosts playbooks/sample-play-zakroma-disk.yml

8. Пакет Nginx

На узлах группы zakroma-disk-nginx должен быть доступен пакет nginx из репозиториев операционной системы или корпоративного зеркала.