CyVerse-Ansible.irods_cfg
cyverse-ansible.irods-cfg
Este rol eventualmente podrá usarse para configurar completamente un servidor iRODS una vez que iRODS esté instalado. En este momento, puede mantener los siguientes archivos de configuración.
- 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
Requisitos
iRODS 4.2.8 está instalado.
Archivos de Tareas
El archivo de tareas main.yml
, que se llama por defecto, realiza las mismas tareas que server.yml
, es decir, despliega el conjunto de archivos requeridos por un servidor iRODS.
Hay dos archivos de tareas específicos para cada tipo. client.yml
despliega los archivos de configuración requeridos por un cliente, por ejemplo, los iCommands. Actualmente, despliega el archivo irods_environment.json. server.yml
despliega los archivos de configuración requeridos por un servidor iRODS.
Para cada archivo de configuración de iRODS hay un archivo de tareas correspondiente que despliega solo ese archivo de configuración. irods_environment.yml
despliega el archivo de configuración del cliente o servidor, irods_environment.json por defecto. En el directorio etc/irods/
, host_access_control_config.yml
despliega host_access_control_config.json, hosts_config.yml
despliega hosts_config.json, server_config.yml
despliega server_config.json, y service_account.yml
despliega service_account.config.
Los archivos de tareas setup_irods.yml
y init_zone_user.yml
no son parte de main.yml
ni de ninguno de los archivos de tareas específicos por tipo. setup_irods.yml
inicializa la base de datos ICAT antes de llamar a server.yml
, y init_zone_user.yml
inicializa el usuario de zona iRODS en el host del inventario.
Variables del Rol
Aquí están las variables del rol. Ninguna de ellas es obligatoria.
Variable | Por defecto | Opciones | Comentario |
---|---|---|---|
irods_cfg_access_entries |
[] | Una lista de objetos de entrada de acceso que definen quién puede acceder a iRODS y desde dónde, ver más abajo | |
irods_cfg_authentication_file |
/var/lib/irods/.irods/.irodsA | El archivo de autenticación para el cliente o servidor | |
irods_cfg_catalog_provider_hosts |
[ localhost ] |
Una lista de nombres de dominio completos o direcciones IP de los proveedores de servicios de catálogo | |
irods_cfg_catalog_service_role |
provider | consumer, provider | El rol del servidor iRODS, un productor accede directamente a la base de datos de catálogo, un consumidor no |
irods_cfg_client_default_hash_scheme |
irods_cfg_default_hash_scheme |
MD5, SHA256 | Esquema de chequeo para el cliente o servidor |
irods_cfg_client_default_resource |
irods_cfg_default_resource_name pero ver comentario |
El nombre del recurso utilizado para las operaciones del cliente o servidor si no se especifica uno | |
irods_cfg_client_encryption_algorithm |
irods_cfg_server_control_plane_encryption_algorithm |
Algoritmo de encriptación proporcionado por EVP para la transferencia paralela | |
irods_cfg_client_encryption_key_size |
32 | Tamaño de clave para la encriptación de transporte paralelo | |
irods_cfg_client_encryption_num_hash_rounds |
irods_cfg_server_control_plane_encryption_num_hash_rounds |
Número de rondas de hash para la encriptación de transporte paralelo | |
irods_cfg_client_encryption_salt_size |
8 | Tamaño de sal para la encriptación de transporte paralelo | |
irods_cfg_client_server_negotiation |
request_server_negotiation | none, request_server_negotiation | Indica si se desea o no negociación avanzada para el cliente o servidor |
irods_cfg_client_server_policy |
CS_NEG_DONT_CARE | CS_NEG_DONT_CARE, CS_NEG_REFUSE, CS_NEG_REQUIRE | Qué política SSL usar para el cliente o servidor |
irods_cfg_client_xmsg_port |
El puerto utilizado por el servidor XMessage | ||
irods_cfg_chown |
true | Si hacer o no que la cuenta del servicio sea la dueña de los archivos generados | |
irods_cfg_connection_pool_refresh_time |
300 | El número de segundos después del cual se refresca una conexión existente en un pool de conexiones | |
irods_cfg_cwd |
irods_cfg_home |
La colección de trabajo inicial para el usuario admin | |
irods_cfg_database_user_password_salt |
La sal utilizada para ofuscar las contraseñas de usuario almacenadas en la base de datos de catálogo | ||
irods_cfg_debug |
'' | '' o cualquier combinación de 'CAT', 'RDA', y 'SQL' | Verbosidad deseada del nivel de registro de depuración para el cliente o servidor. por ejemplo, 'CATRDA' significa incluir depuración de CAT y RDA en los mensajes de registro de depuración |
irods_cfg_default_dir_mode |
0750 | El modo de permiso octal del sistema de archivos Unix para un directorio recién creado | |
irods_cfg_default_file_mode |
0600 | El modo de permiso octal del sistema de archivos Unix para un archivo recién creado | |
irods_cfg_default_hash_scheme |
SHA256 | MD5, SHA256 | El esquema de hash utilizado para verificar la integridad de archivos |
irods_cfg_default_number_of_transfer_threads |
4 | El número máximo predeterminado de hilos permitidos para la transferencia paralela | |
irods_cfg_default_resource_directory |
El directorio Vault predeterminado para el recurso inicial en la instalación del servidor | ||
irods_cfg_default_resource_name |
El nombre del recurso inicial en la instalación del servidor | ||
irods_cfg_default_temporary_password_lifetime |
120 | El número predeterminado de segundos que una contraseña temporal en el lado del servidor es válida | |
irods_cfg_environment_file |
home/irods_cfg_system_account_name /.irods/irods_environment.json pero ver comentario |
La ubicación donde debe colocarse el archivo de entorno de iRODS relativo a irods_cfg_root_dir . Para la configuración del servidor, el predeterminado es 'var/lib/irods/.irods/irods_environment.json' . |
|
irods_cfg_environment_variables |
{} | Un conjunto de variables de entorno para agregar al entorno del proceso del servidor | |
irods_cfg_federation |
[] | Un array de objetos de federación que identifican las zonas con las que esta zona se federan, ver más abajo | |
irods_cfg_for_server |
false pero ver comentario | Si se está configurando o no un servidor. Si se ejecutan las tareas main o server , esto se fuerza a true . Si se ejecutan las tareas client , esto se fuerza a false . |
|
irods_cfg_gsi_server_dn |
null | El nombre distinguido del servidor GSI | |
irods_cfg_home |
/irods_cfg_zone_name /home/irods_cfg_zone_user |
La colección principal del usuario admin | |
irods_cfg_host |
ansible_inventory_name |
El nombre de dominio completo del servidor al que se conecta el cliente o servidor | |
irods_cfg_host_entries |
[] | Un array de objetos de entrada de host que agrupan nombres y direcciones de host que se refieren al mismo host, ver más abajo | |
irods_cfg_icat |
El objeto de configuración de la base de datos ICAT. Ver más abajo. Si el servidor que se está configurando no es un IES, esto debe ser null . |
||
irods_cfg_kerberos_name |
Nombre distinguido de Kerberos para la autenticación KRB y GSI | ||
irods_cfg_log_level |
5 | 1 - 10 | Verbosidad deseada del registro |
irods_cfg_match_hash_policy |
compatible | compatible, strict | Indica a iRODS si debe usar el hash utilizado por el cliente o los datos en reposo, o forzar el uso del esquema de hash predeterminado |
irods_cfg_maximum_number_of_concurrent_rule_engine_server_processes |
4 | El número máximo de procesos del motor de reglas para ejecutar | |
irods_cfg_maximum_size_for_single_buffer |
32 | El tamaño máximo en mebibytes para un único buffer | |
irods_cfg_maximum_temporary_password_lifetime |
1000 | El número máximo de segundos que una contraseña temporal en el lado del servidor puede ser válida | |
irods_cfg_negotiation_key |
TEMPORARY_32byte_negotiation_key | Una clave de encriptación de 32 bytes compartida por la zona para usar en el apretón de mano de negociación avanzada al comienzo de una conexión de cliente iRODS | |
irods_cfg_pam_no_extend |
false, true o null | Establece la vida útil de la contraseña PAM: normalmente 8 horas, pero se extiende a 2 semanas | |
irods_cfg_pam_password_length |
Longitud máxima de una contraseña PAM | ||
irods_cfg_pam_password_max_time |
Vida útil máxima permitida de la contraseña PAM | ||
irods_cfg_pam_password_min_time |
Vida útil mínima permitida de la contraseña PAM | ||
irods_cfg_plugins_home |
Directorio utilizado para los plugins del lado del cliente | ||
irods_cfg_re_additional_data_variable_mappings |
[] | Un array de nombres de archivos (sin la extensión .dvm) que se cargarán en orden antes de que se cargue core.dvm | |
irods_cfg_re_additional_function_name_mappings |
[] | Un array de nombres de archivos (sin la extensión .fnm) que se cargarán en orden antes de que se cargue core.fnm | |
irods_cfg_re_additional_rulebases |
[] | Un array de nombres de archivos (sin la extensión .re) que se cargarán en orden antes de que se cargue core.re | |
irods_cfg_root_dir |
/ | El directorio raíz donde todas las deudas son relativas | |
irods_cfg_rule_engine_server_sleep_time |
30 | Qué tan frecuentemente el motor de reglas busca reglas programadas cuando está inactivo, en segundos | |
irods_cfg_schema_validation_base_uri |
https://schemas.irods.org/configuration |
un URI o 'off' | El URI contra el cual se valida la configuración del servidor iRODS. 'off' significa omitir la validación |
irods_cfg_server_control_plane_encryption_algorithm |
AES-256-CBC | El algoritmo utilizado para encriptar las comunicaciones del plano de control | |
irods_cfg_server_control_plane_encryption_num_hash_rounds |
16 | El número de rondas de hash utilizadas en las comunicaciones del plano de control | |
irods_cfg_server_control_plane_key |
TEMPORARY__32byte_ctrl_plane_key | La clave de encriptación necesaria para comunicarse con el plano de control de la red iRODS, debe ser de 32 bytes | |
irods_cfg_server_control_plane_port |
1248 | El puerto en el cual opera el plano de control | |
irods_cfg_server_control_plane_timeout |
10000 | El número de milisegundos antes de que el plano de control se agote | |
irods_cfg_server_port_range_end |
20199 | El final del rango de Puerto disponible para reconexiones, transferencia paralela y transferencia RBUDP | |
irods_cfg_server_port_range_start |
20000 | El inicio del rango de puerto disponible para reconexiones, transferencia paralela y transferencia RBUDP | |
irods_cfg_ssl_ca_certificate_file |
Ubicación de un archivo de certificados CA de confianza en formato PEM | ||
irods_cfg_ssl_ca_certificate_path |
Ubicación de un directorio que contiene certificados CA en formato PEM | ||
irods_cfg_ssl_certificate_chain_file |
El archivo que contiene la cadena de certificados del servidor | ||
irods_cfg_ssl_certificate_key_file |
Clave privada correspondiente al certificado del servidor en el archivo de la cadena de certificados | ||
irods_cfg_ssl_dh_params_file |
La ubicación del archivo de parámetros de Diffie-Hellman | ||
irods_cfg_ssl_verify_server |
hostname | cert, hostname, none | Nivel de autenticación basada en certificados del servidor a realizar |
irods_cfg_system_account_name |
irods | La cuenta utilizada para ejecutar iRODS | |
irods_cfg_system_group_name |
irods_cfg_system_account_name |
El grupo utilizado para ejecutar iRODS | |
irods_cfg_transfer_buffer_size_for_parallel_transfer |
4 | El tamaño del buffer en mebibytes para la transferencia paralela | |
irods_cfg_transfer_chunk_size_for_parallel_transfer |
40 | El tamaño del fragmento en mebibytes para la transferencia paralela | |
irods_cfg_validate |
true | Si los valores de configuración deben ser validados cuando se generan los archivos de configuración | |
irods_cfg_xmsg_host |
El nombre del host del servidor XMessage | ||
irods_cfg_xmsg_port |
1279 | El puerto en el cual opera el servidor XMessage, si está habilitado | |
irods_cfg_zone_auth_scheme |
native | gsi, krb, native, pam | Esquema de autenticación utilizado por irods_cfg_zone_user |
irods_cfg_zone_key |
TEMPORARY_zone_key | El secreto compartido utilizado para la autenticación e identificación en la comunicación servidor a servidor, no puede contener guiones (- ) |
|
irods_cfg_zone_name |
tempZone | El nombre de la zona en la que participa el servidor | |
irods_cfg_zone_password |
rods | La contraseña utilizada para autenticar irods_cfg_zone_user . |
|
irods_cfg_zone_port |
1247 | El puerto principal utilizado por la zona para la comunicación | |
irods_cfg_zone_user |
rods | El nombre del usuario rodsadmin que ejecuta esta instancia de iRODS |
La variable irods_cfg_access_entries
es un array de objetos access_entry
. Un objeto access_entry
tiene los siguientes campos, todos son obligatorios.
Campo | Opciones | Comentarios |
---|---|---|
address |
La dirección IPv4 de un host o red que puede acceder | |
group |
El grupo de iRODS que puede acceder | |
mask |
La máscara de red cuando address es una dirección de red |
|
user |
El usuario de iRODS que puede acceder |
La variable irods_cfg_environment_variables
es un diccionario donde la clave es el nombre de una variable de entorno del proceso del servidor, y el valor es el valor de la variable de entorno.
La variable irods_cfg_federation
es un array de objetos federation
. Un objeto federation
tiene los siguientes campos, todos son obligatorios.
Campo | Opciones | Comentarios |
---|---|---|
catalog_provider_hosts |
Una lista de nombres de dominio completos o direcciones IP de los proveedores de servicios de catálogo en la zona federada | |
negotiation_key |
La clave de encriptación de 32 bytes de la zona federada | |
zone_key |
El secreto compartido de autenticación con la zona federada | |
zone_name |
El nombre de la zona federada |
La variable irods_cfg_host_entries
es un array de objetos host_entry
. Un objeto host_entry
tiene los siguientes campos, todos son obligatorios.
Campo | Opciones | Comentarios |
---|---|---|
address_type |
local, remote | Indica si este host es local |
addresses |
Un array de nombres y direcciones que se refieren a este host |
La variable irods_cfg_icat
es un objeto icat
. Un objeto icat
tiene los siguientes campos, ninguno de ellos es obligatorio.
Campo | Por defecto | Opciones | Comentarios |
---|---|---|---|
catalog_database_type |
postgres | mysql, oracle, postgres | El tipo de base de datos que iRODS está usando para el iCAT. ver más abajo |
db_host |
localhost | El nombre del host del DBMS | |
db_name |
ICAT | El nombre de la base de datos utilizada como el iCAT | |
db_password |
testpassword | La contraseña utilizada por db_username para conectarse a db_name |
|
db_port |
5432 | El puerto en el cual el servidor de base de datos está escuchando | |
db_username |
irods | El nombre de usuario de la base de datos | |
odbc_driver |
null | El controlador ODBC a usar, si es null el controlador se determinará automáticamente |
Para catalog_database_type
, solo postgres
ha sido completamente probado.
Conjunto de Hechos
Si se cambian cualquiera de los archivos de configuración de iRODS, el hecho irods_cfg_made_changes
se establecerá en true
.
Dependencias
Ninguna
Ejemplos de Playbooks
# Cliente
- 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
# Proveedor de Servicio de Catálogo
- 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: "¡No lo desearías! !"
zone_key: rómpeme
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: secreto
db_username: icatuser
irods_cfg_negotiation_key: Solo adivínalo .
irods_cfg_re_additional_rulebases:
- ipc_custom
irods_cfg_server_control_plane_key: "No lo diré ."
irods_cfg_server_port_range_end: 20399
irods_cfg_transfer_buffer_size_for_parallel_transfer: 32
irods_cfg_zone_key: secreto
irods_cfg_zone_name: iplant
irods_cfg_zone_user: cyverse_admin
# Consumidor del Servicio de Catálogo Actuando como un Servidor de Recursos
- 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: Solo adivínalo .
irods_cfg_re_additional_rulebases:
- ipc_custom
irods_cfg_server_control_plane_key: "No lo diré ."
irods_cfg_server_port_range_end: 20399
irods_cfg_transfer_buffer_size_for_parallel_transfer: 32
irods_cfg_zone_key: secreto
irods_cfg_zone_name: iplant
irods_cfg_zone_user: has_admin
Licencia
Ver licencia.
Información del Autor
Tony Edgin
tedgin@arizona.edu
CyVerse
An ansible role for configuring an iRODS server
ansible-galaxy install CyVerse-Ansible.irods_cfg