irods_cfg

cyverse-ansible.irods-cfg

Ansible Galaxy Статус тестирования

Эта роль в конечном итоге будет использоваться для полной настройки сервера iRODS после его установки. В настоящий момент она может поддерживать следующие конфигурационные файлы:

  • irods_environment.json
  • etc/irods/host_access_control_config.json
  • etc/irods/hosts_config.json
  • etc/irods/server_config.json
  • etc/irods/service_account.config

Требования

Установлена версия iRODS 4.2.8.

Файлы задач

Файл задач main.yml, который вызывается по умолчанию, выполняет те же задачи, что и server.yml, т.е. он разворачивает набор файлов, необходимых для сервера iRODS.

Есть два файла задач, специфичных для уровня. client.yml разворачивает конфигурационные файлы, необходимые клиенту, например, для iCommands. В настоящее время он разворачивает файл irods_environment.json. server.yml разворачивает конфигурационные файлы, необходимые для сервера iRODS.

Для каждого конфигурационного файла iRODS существует соответствующий файл задач, который разворачивает только этот конфигурационный файл. irods_environment.yml разворачивает клиентский или серверный конфигурационный файл irods_environment.json по умолчанию. В каталоге etc/irods/ файл host_access_control_config.yml разворачивает host_access_control_config.json, hosts_config.yml разворачивает hosts_config.json, server_config.yml разворачивает server_config.json, а service_account.yml разворачивает service_account.config.

Файлы задач setup_irods.yml и init_zone_user.yml не входят в состав main.yml или любого уровня задач. setup_irods.yml инициализирует базу данных ICAT перед вызовом server.yml, а init_zone_user.yml инициализирует пользователя зоны iRODS на хосте инвентаризации.

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

Вот переменные роли. Ни одна из них не является обязательной.

Переменная Значение по умолчанию Варианты Описание
irods_cfg_access_entries [] Список объектов записи доступа, определяющих, кто может получить доступ к iRODS и откуда, см. ниже
irods_cfg_authentication_file /var/lib/irods/.irods/.irodsA Файл аутентификации для клиента или сервера
irods_cfg_catalog_provider_hosts [ localhost ] Список полных доменных имен или IP-адресов поставщиков каталога
irods_cfg_catalog_service_role provider consumer, provider Роль сервера iRODS, поставщик напрямую получает доступ к базе данных каталога, а потребитель - нет
irods_cfg_client_default_hash_scheme irods_cfg_default_hash_scheme MD5, SHA256 Схема контрольной суммы для клиента или сервера
irods_cfg_client_default_resource irods_cfg_default_resource_name но см. комментарий Имя ресурса, используемого для операций клиента или сервера, если не указано и для сервера, если irods_cfg_default_resource_name не определено, будет использоваться 'demoResc' по умолчанию.
irods_cfg_client_encryption_algorithm irods_cfg_server_control_plane_encryption_algorithm Алгоритм шифрования, предоставленный EVP, для параллельной передачи
irods_cfg_client_encryption_key_size 32 Размер ключа для шифрования параллельной передачи
irods_cfg_client_encryption_num_hash_rounds irods_cfg_server_control_plane_encryption_num_hash_rounds Количество раундов хеширования для шифрования параллельной передачи
irods_cfg_client_encryption_salt_size 8 Размер соли для шифрования параллельной передачи
irods_cfg_client_server_negotiation request_server_negotiation none, request_server_negotiation Нужно ли проводить расширенную переговоры для клиента или сервера
irods_cfg_client_server_policy CS_NEG_DONT_CARE CS_NEG_DONT_CARE, CS_NEG_REFUSE, CS_NEG_REQUIRE Какую политику SSL использовать клиенту или серверу
irods_cfg_client_xmsg_port Порт, используемый сервером XMessage
irods_cfg_chown true Нужно ли делать учетную запись службы владельцем создаваемых файлов
irods_cfg_connection_pool_refresh_time 300 Количество секунд, после которых существующее соединение в пуле соединений обновляется
irods_cfg_cwd irods_cfg_home Начальная рабочая коллекция для администратора
irods_cfg_database_user_password_salt Соль, используемая для маскировки паролей пользователей, хранящихся в базе данных каталога
irods_cfg_debug '' '' или любая комбинация 'CAT', 'RDA', и 'SQL' Желаемый уровень подробности ведения журнальной отладки для клиента или сервера. например, 'CATRDA' означает включение отладочной информации CAT и RDA в журналы отладки
irods_cfg_default_dir_mode 0750 Режим прав доступа к файлам Unix для вновь созданного каталога
irods_cfg_default_file_mode 0600 Режим прав доступа к файлам Unix для вновь созданного файла
irods_cfg_default_hash_scheme SHA256 MD5, SHA256 Хеш-схема, используемая для проверки целостности файлов
irods_cfg_default_number_of_transfer_threads 4 Максимальное количество потоков, разрешенных для параллельной передачи
irods_cfg_default_resource_directory Директория Vault по умолчанию для начального ресурса при установке сервера
irods_cfg_default_resource_name Имя начального ресурса при установке сервера
irods_cfg_default_temporary_password_lifetime 120 Максимальное время жизни временного пароля на стороне сервера в секундах
irods_cfg_environment_file home/irods_cfg_system_account_name/.irods/irods_environment.json но см. комментарий Место, где iRODS окружение должно быть размещено относительно irods_cfg_root_dir. Для настройки сервера по умолчанию это 'var/lib/irods/.irods/irods_environment.json'.
irods_cfg_environment_variables {} Набор переменных окружения, которые нужно добавить в окружение процесса сервера
irods_cfg_federation [] Массив объектов федерации, определяющих зоны, с которыми эта зона федеративна, см. ниже
irods_cfg_for_server false но см. комментарий Нужно ли настраивать сервер. Если выполняются задачи main или server, это принудительно устанавливается в true. Если выполняются задачи client, это принудительно устанавливается в false.
irods_cfg_gsi_server_dn null Отличительное имя сервера GSI
irods_cfg_home /irods_cfg_zone_name/home/irods_cfg_zone_user Домашняя коллекция администратора
irods_cfg_host ansible_inventory_name Полное доменное имя сервера, к которому подключается клиент или сервер
irods_cfg_host_entries [] Массив объектов записи хоста, группирующих имена хостов и адреса, относящиеся к одному хосту, см. ниже
irods_cfg_icat Конфигурационный объект ICAT DB. См. ниже. Если настраиваемый сервер не является IES, это должно быть null.
irods_cfg_kerberos_name Отличительное имя Kerberos для KRB и GSI аутентификации
irods_cfg_log_level 5 1 - 10 Желаемый уровень детализированности ведения журналов
irods_cfg_match_hash_policy compatible compatible, strict Указывает iRODS, следует ли использовать хеш, используемый клиентом, или данные в покое, или принудительно использовать хеш-схему по умолчанию
irods_cfg_maximum_number_of_concurrent_rule_engine_server_processes 4 Максимальное количество процессов сервера правила, которые могут быть запущены
irods_cfg_maximum_size_for_single_buffer 32 Максимальный размер в мебибайтах для одного буфера
irods_cfg_maximum_temporary_password_lifetime 1000 Максимальное количество секунд, в течение которых временный пароль на стороне сервера может быть действительным
irods_cfg_negotiation_key TEMPORARY_32byte_negotiation_key 32-байтовый ключ шифрования, общий для зоны, используемый в расширенной переговорах при начале соединения клиента с iRODS
irods_cfg_pam_no_extend false, true или null Установить время действия пароля PAM: обычно 8 часов, но расширенный - 2 недели
irods_cfg_pam_password_length Максимальная длина PAM пароля
irods_cfg_pam_password_max_time Максимально допустимое время действия PAM пароля
irods_cfg_pam_password_min_time Минимально допустимое время действия PAM пароля
irods_cfg_plugins_home Директория для использования плагинов клиентской стороны
irods_cfg_re_additional_data_variable_mappings [] Массив имен файлов (без расширения .dvm), которые будут загружены перед загрузкой core.dvm
irods_cfg_re_additional_function_name_mappings [] Массив имен файлов (без расширения .fnm), которые будут загружены перед загрузкой core.fnm
irods_cfg_re_additional_rulebases [] Массив имен файлов (без расширения .re), которые будут загружены перед загрузкой core.re
irods_cfg_root_dir / Корневая директория, относительно которой находятся все депозиты
irods_cfg_rule_engine_server_sleep_time 30 Как часто сервер правил опрашивает запланированные правила, когда находится в спокойном состоянии, в секундах
irods_cfg_schema_validation_base_uri https://schemas.irods.org/configuration URI или 'off' URI, по которому будет проверена конфигурация сервера iRODS. 'off' означает пропустить проверку
irods_cfg_server_control_plane_encryption_algorithm AES-256-CBC Алгоритм, используемый для шифрования коммуникаций управляющей плоскости
irods_cfg_server_control_plane_encryption_num_hash_rounds 16 Количество раундов хеширования, используемых в коммуникациях управляющей плоскости
irods_cfg_server_control_plane_key TEMPORARY__32byte_ctrl_plane_key Ключ шифрования, необходимый для связи с управляющей плоскостью iRODS, должен быть 32 байта
irods_cfg_server_control_plane_port 1248 Порт, на котором функционирует управляющая плоскость
irods_cfg_server_control_plane_timeout 10000 Количество миллисекунд, после которого управляющая плоскость тайм-аут
irods_cfg_server_port_range_end 20199 Конечная граница диапазона портов, доступных для повторных соединений, параллельной передачи и передачи RBUDP
irods_cfg_server_port_range_start 20000 Начальная граница диапазона портов, доступных для повторных соединений, параллельной передачи и передачи RBUDP
irods_cfg_ssl_ca_certificate_file Расположение файла доверенных сертификатов CA в формате PEM
irods_cfg_ssl_ca_certificate_path Расположение каталога, содержащего CA сертификаты в формате PEM
irods_cfg_ssl_certificate_chain_file Файл, содержащий цепочку сертификатов сервера
irods_cfg_ssl_certificate_key_file Личный ключ, соответствующий сертификату сервера в файле цепочки сертификатов
irods_cfg_ssl_dh_params_file Местоположение файла параметров Диффи-Хеллмана
irods_cfg_ssl_verify_server hostname cert, hostname, none Уровень аутентификации, основанный на серверном сертификате
irods_cfg_system_account_name irods Учетная запись, используемая для запуска iRODS
irods_cfg_system_group_name irods_cfg_system_account_name Группа, используемая для запуска iRODS
irods_cfg_transfer_buffer_size_for_parallel_transfer 4 Размер буфера в мебибайтах для параллельной передачи
irods_cfg_transfer_chunk_size_for_parallel_transfer 40 Размер блока в мебибайтах для параллельной передачи
irods_cfg_validate true Нужно ли проверять значения конфигурации при генерации конфигурационных файлов
irods_cfg_xmsg_host Имя хоста сервера XMessage
irods_cfg_xmsg_port 1279 Порт, на котором работает сервер XMessage, если он включен
irods_cfg_zone_auth_scheme native gsi, krb, native, pam Схема аутентификации, используемая пользователем irods_cfg_zone_user
irods_cfg_zone_key TEMPORARY_zone_key Общий секрет, используемый для аутентификации и идентификации при серверной коммуникации, не может содержать дефисы (-)
irods_cfg_zone_name tempZone Имя зоны, в которой участвует сервер
irods_cfg_zone_password rods Пароль, используемый для аутентификации irods_cfg_zone_user.
irods_cfg_zone_port 1247 Главный порт, используемый зоной для общения
irods_cfg_zone_user rods Имя пользователя rodsadmin, запускающего этот экземпляр iRODS

Переменная irods_cfg_access_entries является массивом объектов access_entry. Объект access_entry имеет следующие поля, все они обязательны.

Поле Варианты Комментарии
address IPv4-адрес хоста или сети, который имеет доступ
group Группа iRODS, имеющая доступ
mask Сетевая маска, когда address является адресом сети
user Пользователь iRODS, имеющий доступ

Переменная irods_cfg_environment_variables является словарем, где ключ - это имя переменной окружения процесса сервера, а значение - это значение переменной окружения.

Переменная irods_cfg_federation является массивом объектов federation. Объект federation имеет следующие поля, все они обязательны.

Поле Варианты Комментарии
catalog_provider_hosts Список полных доменных имен или IP-адресов поставщиков каталога в федеративной зоне
negotiation_key 32-байтовый ключ шифрования федеративной зоны
zone_key Общий секрет аутентификации с федеративной зоной
zone_name Имя федеративной зоны

Переменная irods_cfg_host_entries является массивом объектов host_entry. Объект host_entry имеет следующие поля, все они обязательны.

Поле Варианты Комментарии
address_type local, remote Указывает, является ли этот хост локальным.
addresses Массив имен и адресов, относящихся к этому хосту

Переменная irods_cfg_icat является объектом icat. Объект icat имеет следующие поля, ни одно из них не является обязательным.

Поле Значение по умолчанию Варианты Комментарии
catalog_database_type postgres mysql, oracle, postgres Тип базы данных, используемой iRODS для iCAT. см. ниже
db_host localhost Имя хоста СУБД
db_name ICAT Имя базы данных, используемой в качестве iCAT
db_password testpassword Пароль, используемый db_username для подключения к db_name
db_port 5432 Порт, на котором работает сервер базы данных
db_username irods Имя пользователя базы данных
odbc_driver null ODBC-драйвер для использования, если null, драйвер будет автоматически определен

Для catalog_database_type только postgres был полностью протестирован.

Набор фактов

Если любой из конфигурационных файлов iRODS изменяется, факт irods_cfg_made_changes будет установлен в true.

Зависимости

Нет

Пример плейбуков

# Клиент
- hosts: webdav
  vars:
    irods_cfg_environment_file: etc/httpd/irods/irods_environment.json
    irods_cfg_authentication_file: /etc/httpd/irods/.irodsA
    irods_cfg_chown: false
    irods_cfg_host: ares.iplantcollaborative.org
    irods_cfg_zone_name: iplant
    irods_cfg_zone_user: davrods_svc
    irods_cfg_home: /iplant
  tasks:
    - include_role:
        name: cyverse-ansible.irods-cfg
        tasks_from: "{{ item }}"
      with_items:
        - client.yml
        - init_zone_user.yml

# Поставщик каталога
- hosts: irods_catalog_provider
  roles:
    - role: cyverse-ansible.irods-cfg
      vars:
        irods_cfg_default_hash_scheme: MD5
        irods_cfg_default_number_of_transfer_threads: 16
        irods_cfg_default_resource_name: CyVerseRes
        irods_cfg_environment_variables:
          amqp_host: amqp.cyverse.org
        irods_cfg_federation:
          - icat_host: irods.tacc.utexas.edu
            negotiation_key: "Don't you wish!                !"
            zone_key: crack me
            zone_name: tacc
        irods_cfg_host_entries:
          - address_type: local
            addresses:
              - ares.iplantcollaborative.org
              - data.cyverse.org
              - data.iplantcollaborative.org
        irods_cfg_icat:
          db_host: irods-db.cyverse.org
          db_password: secret
          db_username: icatuser
        irods_cfg_negotiation_key: Just guess it                  .
        irods_cfg_re_additional_rulebases:
          - ipc_custom
        irods_cfg_server_control_plane_key: "I'm not telling                ."
        irods_cfg_server_port_range_end: 20399
        irods_cfg_transfer_buffer_size_for_parallel_transfer: 32
        irods_cfg_zone_key: secret
        irods_cfg_zone_name: iplant
        irods_cfg_zone_user: cyverse_admin

# Потребитель каталога, действующий как сервер ресурса
- hosts: irods_resource_server
  roles:
    - role: cyverse-ansible.irods-cfg
      vars:
        irods_cfg_default_hash_scheme: MD5
        irods_cfg_default_number_of_transfer_threads: 16
        irods_cfg_default_resource_directory: /f2/haboob
        irods_cfg_default_resource_name: haboobRes
        irods_cfg_negotiation_key: Just guess it                  .
        irods_cfg_re_additional_rulebases:
          - ipc_custom
        irods_cfg_server_control_plane_key: "I'm not telling                ."
        irods_cfg_server_port_range_end: 20399
        irods_cfg_transfer_buffer_size_for_parallel_transfer: 32
        irods_cfg_zone_key: secret
        irods_cfg_zone_name: iplant
        irods_cfg_zone_user: has_admin

Лицензия

Смотрите лицензию.

Информация об авторе

Тони Эджин
tedgin@arizona.edu
CyVerse

О проекте

An ansible role for configuring an iRODS server

Установить
ansible-galaxy install CyVerse-Ansible/ansible-irods-cfg
Лицензия
other
Загрузки
129
Владелец