CyVerse-Ansible.irods_cfg
cyverse-ansible.irods-cfg
Diese Rolle kann verwendet werden, um einen iRODS-Server vollständig zu konfigurieren, nachdem iRODS installiert ist. Momentan kann sie die folgenden Konfigurationsdateien verwalten.
- 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
Anforderungen
iRODS 4.2.8 muss installiert sein.
Aufgaben Dateien
Die Standard-Aufgabendatei main.yml
führt dieselben Aufgaben aus wie server.yml
, d.h. sie installiert die notwendigen Dateien für einen iRODS-Server.
Es gibt zwei spezielle Aufgabendateien. client.yml
installiert die Konfigurationsdateien, die ein Client benötigt, z.B. die iCommands. Derzeit wird die Datei irods_environment.json installiert. server.yml
installiert die Konfigurationsdateien für einen iRODS-Server.
Für jede iRODS-Konfigurationsdatei gibt es eine entsprechende Aufgabendatei, die nur diese Konfigurationsdatei installiert. irods_environment.yml
installiert die Konfigurationsdatei für den Client oder Server, standardmäßig irods_environment.json. Im Verzeichnis etc/irods/
installiert host_access_control_config.yml
die host_access_control_config.json, hosts_config.yml
installiert hosts_config.json, server_config.yml
installiert server_config.json und service_account.yml
installiert service_account.config.
Die Aufgabendateien setup_irods.yml
und init_zone_user.yml
sind nicht Teil von main.yml
oder den speziellen Aufgabendateien. setup_irods.yml
initialisiert die ICAT-Datenbank, bevor server.yml
aufgerufen wird, und init_zone_user.yml
initialisiert den iRODS-Zonentuser im Inventar-Host.
Rollenvariablen
Hier sind die Rollenvariablen. Keine von ihnen sind Pflicht.
Variable | Standard | Optionen | Kommentar |
---|---|---|---|
irods_cfg_access_entries |
[] | Eine Liste von Zugriffsobjekten, die definieren, wer auf iRODS zugreifen kann und von wo, siehe unten | |
irods_cfg_authentication_file |
/var/lib/irods/.irods/.irodsA | Die Authentifizierungsdatei für den Client oder Server | |
irods_cfg_catalog_provider_hosts |
[ localhost ] |
Eine Liste von FQDNs oder IP-Adressen der Katalogdienstanbieter | |
irods_cfg_catalog_service_role |
provider | consumer, provider | Die Rolle des iRODS-Servers; ein Provider greift direkt auf die Katalogdatenbank zu, ein Consumer nicht |
irods_cfg_client_default_hash_scheme |
irods_cfg_default_hash_scheme |
MD5, SHA256 | Prüfziffer-Schema für den Client oder Server |
irods_cfg_client_default_resource |
irods_cfg_default_resource_name aber siehe Kommentar |
Der Name der Ressource, die für Client- oder Server-Operationen verwendet wird, falls nicht spezifiziert | |
irods_cfg_client_encryption_algorithm |
irods_cfg_server_control_plane_encryption_algorithm |
EVP-vorgeschlagenes Verschlüsselungsverfahren für parallelen Transport | |
irods_cfg_client_encryption_key_size |
32 | Schlüssellänge für die parallele Transportverschlüsselung | |
irods_cfg_client_encryption_num_hash_rounds |
irods_cfg_server_control_plane_encryption_num_hash_rounds |
Anzahl der Hash-Runden für parallele Transportverschlüsselung | |
irods_cfg_client_encryption_salt_size |
8 | Saltlänge für die parallele Transportverschlüsselung | |
irods_cfg_client_server_negotiation |
request_server_negotiation | none, request_server_negotiation | Ob eine erweiterte Verhandlung für Client oder Server gewünscht wird |
irods_cfg_client_server_policy |
CS_NEG_DONT_CARE | CS_NEG_DONT_CARE, CS_NEG_REFUSE, CS_NEG_REQUIRE | Welche SSL-Richtlinie Clients oder Server verwenden sollen |
irods_cfg_client_xmsg_port |
Der Port, den der XMessage-Server verwendet | ||
irods_cfg_chown |
true | Ob das Dienstkonto der Besitzer der generierten Dateien sein soll | |
irods_cfg_connection_pool_refresh_time |
300 | Anzahl der Sekunden, nach denen eine bestehende Verbindung im Verbindungs-Pool aktualisiert wird | |
irods_cfg_cwd |
irods_cfg_home |
Das ursprüngliche Arbeitsverzeichnis für den Admin-Benutzer | |
irods_cfg_database_user_password_salt |
Der Salt, der beim Verschleiern von Benutzerpasswörtern in der Katalogdatenbank verwendet wird | ||
irods_cfg_debug |
'' | '' oder jede Kombination von 'CAT', 'RDA' und 'SQL' | Gewünschte Detailgenauigkeit des Debug-Loglevels für Client oder Server, z.B. 'CATRDA' bedeutet, dass CAT und RDA-Fehlerprotokollierung in den Debug-Logmeldungen enthalten ist |
irods_cfg_default_dir_mode |
0750 | Der Unix-Dateisystem-Oktalberechtigungsmodus für ein neu erstelltes Verzeichnis | |
irods_cfg_default_file_mode |
0600 | Der Unix-Dateisystem-Oktalberechtigungsmodus für eine neu erstellte Datei | |
irods_cfg_default_hash_scheme |
SHA256 | MD5, SHA256 | Das Hash-Schema, das für die Integritätsüberprüfung von Dateien verwendet wird |
irods_cfg_default_number_of_transfer_threads |
4 | Die standardmäßige maximale Anzahl von Threads, die für parallelen Transfer zugelassen sind | |
irods_cfg_default_resource_directory |
Das Standardverzeichnis für die erste Ressource bei der Serverinstallation | ||
irods_cfg_default_resource_name |
Der Name der ersten Ressource bei der Serverinstallation | ||
irods_cfg_default_temporary_password_lifetime |
120 | Die Standardzahl von Sekunden, für die ein serverseitiges temporäres Passwort gültig ist | |
irods_cfg_environment_file |
home/irods_cfg_system_account_name /.irods/irods_environment.json aber siehe Kommentar |
Der Ort, an dem die iRODS-Umgebungsdatei relativ zu irods_cfg_root_dir platziert werden soll. Für die Serverkonfiguration ist der Standardwert 'var/lib/irods/.irods/irods_environment.json' . |
|
irods_cfg_environment_variables |
{} | Eine Menge von Umgebungsvariablen, die zum Serverprozessumfeld hinzugefügt werden | |
irods_cfg_federation |
[] | Ein Array von Föderationsobjekten, die die Zonen identifizieren, mit denen diese Zone föderiert ist, siehe unten | |
irods_cfg_for_server |
false aber siehe Kommentar | Ob ein Server konfiguriert wird oder nicht. Wenn die main - oder server -Aufgaben ausgeführt werden, wird dies auf true gesetzt. Wenn die client -Aufgaben ausgeführt werden, wird dies auf false gesetzt. |
|
irods_cfg_gsi_server_dn |
null | Der Distinguished Name des GSI-Servers | |
irods_cfg_home |
/irods_cfg_zone_name /home/irods_cfg_zone_user |
Die Heimatkollektion des Admin-Benutzers | |
irods_cfg_host |
ansible_inventory_name |
Der vollqualifizierte Domainname des Servers, zu dem der Client oder Server eine Verbindung herstellt | |
irods_cfg_host_entries |
[] | Ein Array von Host-Eintragobjekten, die Hostnamen und Adressen referenzieren, die sich auf denselben Host beziehen | |
irods_cfg_icat |
Das ICAT-Datenbank-Konfigurationsobjekt. Siehe unten. Wenn der konfigurierte Server kein IES ist, sollte dies null sein. |
||
irods_cfg_kerberos_name |
Kerberos-Distinguished Name für KRB- und GSI-Authentifizierung | ||
irods_cfg_log_level |
5 | 1 - 10 | Gewünschte Detailgenauigkeit des Loggings |
irods_cfg_match_hash_policy |
compatible | compatible, strict | Gibt iRODS an, ob der für den Client verwendete Hash oder die Daten im Ruhezustand verwendet werden sollen oder ob das Standard-Hash-Schema erzwungen werden soll |
irods_cfg_maximum_number_of_concurrent_rule_engine_server_processes |
4 | Die maximale Anzahl von Regel-Engine-Prozessen, die ausgeführt werden können | |
irods_cfg_maximum_size_for_single_buffer |
32 | Die maximale Größe in Mebibytes für einen einzelnen Puffer | |
irods_cfg_maximum_temporary_password_lifetime |
1000 | Die maximale Anzahl von Sekunden, in denen ein serverseitiges temporäres Passwort gültig sein kann | |
irods_cfg_negotiation_key |
TEMPORARY_32byte_negotiation_key | Ein 32-Byte-Verschlüsselungsschlüssel, der von der Zone für die Verwendung im erweiterten Verhandlungs-Handschlag zu Beginn einer iRODS-Client-Verbindung geteilt wird | |
irods_cfg_pam_no_extend |
false, true oder null | Setzt die PAM-Passwortlebensdauer: normalerweise 8 Stunden, aber verlängert auf 2 Wochen | |
irods_cfg_pam_password_length |
Maximale Länge eines PAM-Passworts | ||
irods_cfg_pam_password_max_time |
Maximale erlaubte Lebensdauer eines PAM-Passworts | ||
irods_cfg_pam_password_min_time |
Minimale erlaubte Lebensdauer eines PAM-Passworts | ||
irods_cfg_plugins_home |
Verzeichnis für die Client-seitigen Plugins | ||
irods_cfg_re_additional_data_variable_mappings |
[] | Ein Array von Dateinamen (ohne die .dvm-Erweiterung), die in der Reihenfolge geladen werden, bevor core.dvm geladen wird | |
irods_cfg_re_additional_function_name_mappings |
[] | Ein Array von Dateinamen (ohne die .fnm-Erweiterung), die in der Reihenfolge geladen werden, bevor core.fnm geladen wird | |
irods_cfg_re_additional_rulebases |
[] | Ein Array von Dateinamen (ohne die .re-Erweiterung), die in der Reihenfolge geladen werden, bevor core.re geladen wird | |
irods_cfg_root_dir |
/ | Das Wurzelverzeichnis, auf das sich alle Ablagen beziehen | |
irods_cfg_rule_engine_server_sleep_time |
30 | Wie häufig die Regel-Engine nach geplanten Regeln fragt, wenn sie im Leerlauf ist, in Sekunden | |
irods_cfg_schema_validation_base_uri |
https://schemas.irods.org/configuration |
eine URI oder 'off' | Die URI, gegen die die iRODS-Serverkonfiguration validiert wird. 'off' bedeutet, dass die Validierung übersprungen wird |
irods_cfg_server_control_plane_encryption_algorithm |
AES-256-CBC | Das Algorithmus, das zur Verschlüsselung der Kommunikationskontrolle verwendet wird | |
irods_cfg_server_control_plane_encryption_num_hash_rounds |
16 | Die Anzahl von Hash-Runden, die in den Kontrollkommunikationen verwendet werden | |
irods_cfg_server_control_plane_key |
TEMPORARY__32byte_ctrl_plane_key | Der Verschlüsselungsschlüssel, der für die Kommunikation mit der iRODS-Grid-Steuerung erforderlich ist; muss 32 Bytes betragen | |
irods_cfg_server_control_plane_port |
1248 | Der Port, an dem die Steuerungsebene arbeitet | |
irods_cfg_server_control_plane_timeout |
10000 | Die Anzahl der Millisekunden, bevor die Steuerungsebene zeitlich ausläuft | |
irods_cfg_server_port_range_end |
20199 | Das Ende des verfügbaren Portbereichs für Wiederverbindungen, parallelen Transport und RBUDP-Transfer | |
irods_cfg_server_port_range_start |
20000 | Der Beginn des verfügbaren Portbereichs für Wiederverbindungen, parallelen Transport und RBUDP-Transfer | |
irods_cfg_ssl_ca_certificate_file |
Ort einer Datei mit vertrauenswürdigen CA-Zertifikaten im PEM-Format | ||
irods_cfg_ssl_ca_certificate_path |
Ort eines Verzeichnisses mit CA-Zertifikaten im PEM-Format | ||
irods_cfg_ssl_certificate_chain_file |
Die Datei, die die Zertifikatskette des Servers enthält | ||
irods_cfg_ssl_certificate_key_file |
Privat-Schlüssel, der dem Zertifikat des Servers in der Zertifikatskette entspricht | ||
irods_cfg_ssl_dh_params_file |
Ort der Datei mit den Diffie-Hellman-Parametern | ||
irods_cfg_ssl_verify_server |
hostname | cert, hostname, none | Grad der Authentifizierung des Serverzertifikats |
irods_cfg_system_account_name |
irods | Das Konto, unter dem iRODS ausgeführt wird | |
irods_cfg_system_group_name |
irods_cfg_system_account_name |
Die Gruppe, die iRODS ausführt | |
irods_cfg_transfer_buffer_size_for_parallel_transfer |
4 | Die Pufferspeichergröße in Mebibytes für parallelen Transport | |
irods_cfg_transfer_chunk_size_for_parallel_transfer |
40 | Die Chunkgröße in Mebibytes für parallelen Transport | |
irods_cfg_validate |
true | Ob die Konfigurationswerte validiert werden sollten, wenn die Konfigurationsdateien generiert werden | |
irods_cfg_xmsg_host |
Der Hostname des XMessage-Servers | ||
irods_cfg_xmsg_port |
1279 | Der Port, auf dem der XMessage-Server arbeitet, falls er aktiviert ist | |
irods_cfg_zone_auth_scheme |
native | gsi, krb, native, pam | Das Authentifizierungsschema, das von irods_cfg_zone_user verwendet wird |
irods_cfg_zone_key |
TEMPORARY_zone_key | Das geteilte Geheimnis, das für die Authentifizierung und Identifizierung bei der serverübergreifenden Kommunikation verwendet wird | |
irods_cfg_zone_name |
tempZone | Der Name der Zone, an der der Server teilnimmt | |
irods_cfg_zone_password |
rods | Das Passwort, das verwendet wird, um irods_cfg_zone_user zu authentifizieren. |
|
irods_cfg_zone_port |
1247 | Der Hauptport, der von der Zone für die Kommunikation verwendet wird | |
irods_cfg_zone_user |
rods | Der Name des rodsadmin-Benutzers, der diese iRODS-Instanz ausführt |
Die Variable irods_cfg_access_entries
ist ein Array von access_entry
-Objekten. Ein access_entry
-Objekt hat die folgenden Felder, die alle erforderlich sind.
Feld | Optionen | Kommentare |
---|---|---|
address |
Die IPv4-Adresse eines Hosts oder Netzwerks, das Zugriff hat | |
group |
Die iRODS-Gruppe, die Zugriff hat | |
mask |
Die Netzwerkmaske, wenn address eine Netzwerkadresse ist |
|
user |
Der iRODS-Benutzer, der Zugriff hat |
Die Variable irods_cfg_environment_variables
ist ein Dictionary, wobei der Schlüssel der Name einer Umgebungsvariablen des Serverprozesses ist und der Wert der Wert der Umgebungsvariablen.
Die Variable irods_cfg_federation
ist ein Array von federation
-Objekten. Ein federation
-Objekt hat die folgenden Felder, die alle erforderlich sind.
Feld | Optionen | Kommentare |
---|---|---|
catalog_provider_hosts |
Eine Liste von FQDNs oder IP-Adressen der Katalogdienstanbieter in der föderierten Zone | |
negotiation_key |
Der 32-Byte-Verschlüsselungsschlüssel der föderierten Zone | |
zone_key |
Das gemeinsame Authentifizierungsgeheimnis mit der föderierten Zone | |
zone_name |
Der Name der föderierten Zone |
Die Variable irods_cfg_host_entries
ist ein Array von host_entry
-Objekten. Ein host_entry
-Objekt hat die folgenden Felder, die alle erforderlich sind.
Feld | Optionen | Kommentare |
---|---|---|
address_type |
local, remote | Gibt an, ob dieser Host localhost ist. |
addresses |
Ein Array von Namen und Adressen, die sich auf diesen Host beziehen |
Die Variable irods_cfg_icat
ist ein icat
-Objekt. Ein icat
-Objekt hat die folgenden Felder, von denen none erforderlich sind.
Feld | Standard | Optionen | Kommentare |
---|---|---|---|
catalog_database_type |
postgres | mysql, oracle, postgres | Der Typ der Datenbank, die iRODS für den iCAT verwendet. siehe unten |
db_host |
localhost | Der Hostname des DBMS | |
db_name |
ICAT | Der Name der Datenbank, die als iCAT verwendet wird | |
db_password |
testpassword | Das Passwort, das von db_username verwendet wird, um sich mit db_name zu verbinden |
|
db_port |
5432 | Der Port, an dem der Datenbankserver lauscht | |
db_username |
irods | Der Benutzername der Datenbank | |
odbc_driver |
null | Der ODBC-Treiber, der verwendet wird; wenn null , wird der Treiber automatisch bestimmt |
Für catalog_database_type
wurde nur postgres
vollständig getestet.
Fakten Setzen
Wenn eine der iRODS-Konfigurationsdateien geändert wird, wird das Faktum irods_cfg_made_changes
auf true
gesetzt.
Abhängigkeiten
Keine
Beispiel Playbooks
# Client
- 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
# Katalogdienst-Anbieter
- 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: "Machst du gerne!"
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: Rate es einfach.
irods_cfg_re_additional_rulebases:
- ipc_custom
irods_cfg_server_control_plane_key: "Ich sag's nicht."
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
# Katalogdienst-Consumer, der als Ressourcen-Server fungiert
- 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: Rate es einfach.
irods_cfg_re_additional_rulebases:
- ipc_custom
irods_cfg_server_control_plane_key: "Ich sag's nicht."
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
Lizenz
Siehe Lizenz.
Autoreninformation
Tony Edgin tedgin@arizona.edu CyVerse
ansible-galaxy install CyVerse-Ansible.irods_cfg