CyVerse-Ansible.irods_cfg
cyverse-ansible.irods-cfg
Ta rola w końcu będzie mogła być używana do pełnej konfiguracji serwera iRODS po jego zainstalowaniu. Obecnie potrafi utrzymywać następujące pliki konfiguracyjne:
- 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
Wymagania
Wymagana jest instalacja iRODS w wersji 4.2.8.
Pliki z zadaniami
Domyślny plik z zadaniami main.yml
wykonuje te same zadania co server.yml
, tzn. wdraża zestaw plików potrzebnych serwerowi iRODS.
Istnieją dwa specyficzne pliki z zadaniami dla różnych poziomów. Plik client.yml
wdraża pliki konfiguracyjne potrzebne klientowi, np. iCommands. Obecnie wdraża plik irods_environment.json. Plik server.yml
wdraża pliki konfiguracyjne potrzebne serwerowi iRODS.
Dla każdego pliku konfiguracyjnego iRODS istnieje odpowiadający plik z zadaniami, który wdraża tylko ten plik konfiguracyjny. Plik irods_environment.yml
wdraża plik konfiguracyjny klienta lub serwera irods_environment.json domyślnie. W katalogu etc/irods/
, host_access_control_config.yml
wdraża host_access_control_config.json, hosts_config.yml
wdraża hosts_config.json, server_config.yml
wdraża server_config.json, a service_account.yml
wdraża service_account.config.
Pliki z zadaniami setup_irods.yml
i init_zone_user.yml
nie są częścią main.yml
ani żadnego z plików specyficznych dla poziomu. Plik setup_irods.yml
inicjalizuje bazę ICAT przed wywołaniem server.yml
, a init_zone_user.yml
inicjalizuje użytkownika strefy iRODS na hoście z inwentarza.
Zmienne roli
Oto zmienne roli. Żadna z nich nie jest obowiązkowa.
Zmienna | Domyślna | Możliwości | Komentarz |
---|---|---|---|
irods_cfg_access_entries |
[] | Lista obiektów dostępu określających, kto może uzyskać dostęp do iRODS i skąd, patrz poniżej. | |
irods_cfg_authentication_file |
/var/lib/irods/.irods/.irodsA | Plik uwierzytelniający dla klienta lub serwera. | |
irods_cfg_catalog_provider_hosts |
[ localhost ] |
Lista FQDN lub adresów IP dostawców usługi katalogowej. | |
irods_cfg_catalog_service_role |
provider | consumer, provider | Rola serwera iRODS, dostawca bezpośrednio uzyskuje dostęp do bazy danych katalogu, konsument tego nie robi. |
irods_cfg_client_default_hash_scheme |
irods_cfg_default_hash_scheme |
MD5, SHA256 | Schemat sumy kontrolnej dla klienta lub serwera. |
irods_cfg_client_default_resource |
irods_cfg_default_resource_name ale patrz komentarz |
Nazwa zasobu używanego do operacji klientów lub serwera, jeśli nie jest określona, na serwerze, jeśli irods_cfg_default_resource_name jest niezdefiniowane, używana będzie 'demoResc' jako domyślna. |
|
irods_cfg_client_encryption_algorithm |
irods_cfg_server_control_plane_encryption_algorithm |
Algorytm szyfrowania dostarczony przez EVP do równoległego transferu. | |
irods_cfg_client_encryption_key_size |
32 | Rozmiar klucza dla szyfrowania przy równoległym transferze. | |
irods_cfg_client_encryption_num_hash_rounds |
irods_cfg_server_control_plane_encryption_num_hash_rounds |
Liczba rund haszowania dla szyfrowania przy równoległym transferze. | |
irods_cfg_client_encryption_salt_size |
8 | Rozmiar soli dla szyfrowania przy równoległym transferze. | |
irods_cfg_client_server_negotiation |
request_server_negotiation | none, request_server_negotiation | Czy chcemy zaawansowanych negocjacji dla klienta lub serwera. |
irods_cfg_client_server_policy |
CS_NEG_DONT_CARE | CS_NEG_DONT_CARE, CS_NEG_REFUSE, CS_NEG_REQUIRE | Jaką politykę SSL ma stosować klient lub serwer. |
irods_cfg_client_xmsg_port |
Port używany przez serwer XMessage. | ||
irods_cfg_chown |
true | Czy właścicielem generowanych plików ma być konto usługi. | |
irods_cfg_connection_pool_refresh_time |
300 | Liczba sekund po których istniejące połączenie w puli połączeń jest odnawiane. | |
irods_cfg_cwd |
irods_cfg_home |
Początkowy katalog roboczy dla użytkownika administratora. | |
irods_cfg_database_user_password_salt |
Sól używana podczas obfuskowania haseł użytkowników przechowywanych w bazie danych katalogu. | ||
irods_cfg_debug |
'' | '' lub dowolna kombinacja 'CAT', 'RDA', 'SQL' | Pożądany poziom szczegółowości logów debugowania dla klienta lub serwera. np. 'CATRDA' oznacza uwzględnienie logowania debugowania CAT i RDA w komunikatach logów debugowania. |
irods_cfg_default_dir_mode |
0750 | Ośmiobitowy tryb uprawnień dla nowo utworzonego katalogu. | |
irods_cfg_default_file_mode |
0600 | Ośmiobitowy tryb uprawnień dla nowo utworzonego pliku. | |
irods_cfg_default_hash_scheme |
SHA256 | MD5, SHA256 | Schemat haszowania używany do sprawdzania integralności pliku. |
irods_cfg_default_number_of_transfer_threads |
4 | Domyślna maksymalna liczba wątków dozwolona dla równoległego transferu. | |
irods_cfg_default_resource_directory |
Domyślny katalog skarbcowy dla początkowego zasobu przy instalacji serwera. | ||
irods_cfg_default_resource_name |
Nazwa początkowego zasobu przy instalacji serwera. | ||
irods_cfg_default_temporary_password_lifetime |
120 | Domyślna liczba sekund, przez którą tymczasowe hasło po stronie serwera jest ważne. | |
irods_cfg_environment_file |
home/irods_cfg_system_account_name /.irods/irods_environment.json ale patrz komentarz |
Miejsce, w którym powinien znajdować się plik środowiskowy iRODS w odniesieniu do irods_cfg_root_dir . W konfiguracji serwera domyślnie to 'var/lib/irods/.irods/irods_environment.json'. |
|
irods_cfg_environment_variables |
{} | Zestaw zmiennych środowiskowych, które należy dodać do środowiska procesu serwera. | |
irods_cfg_federation |
[] | Tablica obiektów federacji identyfikujących strefy, z którymi ta strefa jest zafederowana, patrz poniżej. | |
irods_cfg_for_server |
false ale patrz komentarz | Czy konfigurowany jest serwer. Jeśli uruchomione są zadania main lub server , to wymusza true . Jeśli uruchomione są zadania client , wymusza false . |
|
irods_cfg_gsi_server_dn |
null | Nazwa wyróżniająca serwera GSI. | |
irods_cfg_home |
/irods_cfg_zone_name /home/irods_cfg_zone_user |
Katalog domowy użytkownika administratora. | |
irods_cfg_host |
ansible_inventory_name |
W pełni kwalifikowana nazwa domeny serwera, do którego łączy się klient lub serwer. | |
irods_cfg_host_entries |
[] | Tablica obiektów wpisów hosta grupujących nazwy hostów i adresy odnoszące się do tego samego hosta, patrz poniżej. | |
irods_cfg_icat |
Obiekt konfiguracyjny ICAT DB. Patrz poniżej. Jeśli konfigurowany serwer nie jest IES, to wartość powinna być null . |
||
irods_cfg_kerberos_name |
Nazwa wyróżniająca Kerberosa dla uwierzytelniania KRB i GSI. | ||
irods_cfg_log_level |
5 | 1 - 10 | Pożądany poziom szczegółowości rejestrowania. |
irods_cfg_match_hash_policy |
compatible | compatible, strict | Określa, czy iRODS powinno używać hasza używanego przez klienta lub danych w spoczynku, czy wymusić użycie domyślnego schematu haszowania. |
irods_cfg_maximum_number_of_concurrent_rule_engine_server_processes |
4 | Maksymalna liczba procesów silnika reguł, które mogą działać. | |
irods_cfg_maximum_size_for_single_buffer |
32 | Maksymalny rozmiar w mebibajtach dla jednego bufora. | |
irods_cfg_maximum_temporary_password_lifetime |
1000 | Maksymalna liczba sekund, przez które tymczasowe hasło po stronie serwera może być ważne. | |
irods_cfg_negotiation_key |
TEMPORARY_32byte_negotiation_key | 32-bajtowy klucz szyfrowania współdzielony przez strefę do użycia w zaawansowanym handshake negocjacji na początku połączenia klienta z iRODS. | |
irods_cfg_pam_no_extend |
false, true lub null | Ustal czas ważności hasła PAM: zazwyczaj 8 godzin, ale przedłużony jest 2 tygodnie. | |
irods_cfg_pam_password_length |
Maksymalna długość hasła PAM. | ||
irods_cfg_pam_password_max_time |
Maksymalny dozwolony czas ważności hasła PAM. | ||
irods_cfg_pam_password_min_time |
Minimalny dozwolony czas ważności hasła PAM. | ||
irods_cfg_plugins_home |
Katalog do użycia dla wtyczek po stronie klienta. | ||
irods_cfg_re_additional_data_variable_mappings |
[] | Tablica nazw plików (bez rozszerzenia .dvm), które będą ładowane w kolejności przed załadowaniem core.dvm. | |
irods_cfg_re_additional_function_name_mappings |
[] | Tablica nazw plików (bez rozszerzenia .fnm), które będą ładowane w kolejności przed załadowaniem core.fnm. | |
irods_cfg_re_additional_rulebases |
[] | Tablica nazw plików (bez rozszerzenia .re), które będą ładowane w kolejności przed załadowaniem core.re. | |
irods_cfg_root_dir |
/ | Główna katalog, do którego odnosi się wszystkie depozyty. | |
irods_cfg_rule_engine_server_sleep_time |
30 | Jak często silnik reguł skanuje zaplanowane reguły, gdy jest w stanie bezczynności w sekundach. | |
irods_cfg_schema_validation_base_uri |
https://schemas.irods.org/configuration |
URI lub 'off' | URI, wg którego wartości konfiguracyjne serwera iRODS są weryfikowane. 'off' oznacza pominięcie weryfikacji. |
irods_cfg_server_control_plane_encryption_algorithm |
AES-256-CBC | Algorytm używany do szyfrowania komunikacji w kontrolnej płaszczyźnie. | |
irods_cfg_server_control_plane_encryption_num_hash_rounds |
16 | Liczba rund haszowania używana w komunikacji w kontrolnej płaszczyźnie. | |
irods_cfg_server_control_plane_key |
TEMPORARY__32byte_ctrl_plane_key | Klucz szyfrowania wymagany do komunikacji z kontrolną płaszczyzną siatki iRODS, musi mieć 32 bajty. | |
irods_cfg_server_control_plane_port |
1248 | Port, na którym działa kontrolna płaszczyzna. | |
irods_cfg_server_control_plane_timeout |
10000 | Liczba milisekund, po których kontrolna płaszczyzna przestaje działać. | |
irods_cfg_server_port_range_end |
20199 | Koniec zakresu portów dostępnych dla ponownych połączeń, równoległego transferu i transferu RBUDP. | |
irods_cfg_server_port_range_start |
20000 | Początek zakresu portów dostępnych dla ponownych połączeń, równoległego transferu i transferu RBUDP. | |
irods_cfg_ssl_ca_certificate_file |
Miejsce pliku z zaufanymi certyfikatami CA w formacie PEM. | ||
irods_cfg_ssl_ca_certificate_path |
Miejsce katalogu zawierającego certyfikaty CA w formacie PEM. | ||
irods_cfg_ssl_certificate_chain_file |
Plik zawierający łańcuch certyfikatów serwera. | ||
irods_cfg_ssl_certificate_key_file |
Prywatny klucz odpowiadający certyfikatowi serwera w pliku łańcucha certyfikatów. | ||
irods_cfg_ssl_dh_params_file |
Miejsce pliku z parametrami Diffiego-Hellmana. | ||
irods_cfg_ssl_verify_server |
hostname | cert, hostname, none | Poziom uwierzytelniania oparty na certyfikacie serwera, który ma być przeprowadzony. |
irods_cfg_system_account_name |
irods | Konto używane do uruchamiania iRODS. | |
irods_cfg_system_group_name |
irods_cfg_system_account_name |
Grupa używana do uruchamiania iRODS. | |
irods_cfg_transfer_buffer_size_for_parallel_transfer |
4 | Rozmiar bufora w mebibajtach dla równoległego transferu. | |
irods_cfg_transfer_chunk_size_for_parallel_transfer |
40 | Rozmiar kawałka w mebibajtach dla równoległego transferu. | |
irods_cfg_validate |
true | Czy wartości konfiguracyjne powinny być weryfikowane przy generowaniu plików konfiguracyjnych. | |
irods_cfg_xmsg_host |
Nazwa hosta serwera XMessage. | ||
irods_cfg_xmsg_port |
1279 | Port, na którym działa serwer XMessage, jeśli jest włączony. | |
irods_cfg_zone_auth_scheme |
native | gsi, krb, native, pam | Schemat uwierzytelniania używany przez irods_cfg_zone_user . |
irods_cfg_zone_key |
TEMPORARY_zone_key | Wspólny klucz używany do uwierzytelniania i identyfikacji w komunikacji między serwerami, nie może zawierać myślników (- ). |
|
irods_cfg_zone_name |
tempZone | Nazwa strefy, w której uczestniczy serwer. | |
irods_cfg_zone_password |
rods | Hasło używane do uwierzytelnienia irods_cfg_zone_user . |
|
irods_cfg_zone_port |
1247 | Główny port używany przez strefę do komunikacji. | |
irods_cfg_zone_user |
rods | Nazwa użytkownika rodsadmin uruchamiającego tę instancję iRODS. |
Zmienna irods_cfg_access_entries
jest tablicą obiektów access_entry
. Obiekt access_entry
ma następujące pola, wszystkie są wymagane.
Pole | Możliwości | Komentarze |
---|---|---|
address |
adres IPv4 hosta lub sieci, który może uzyskać dostęp. | |
group |
grupa iRODS z dostępem. | |
mask |
maska sieci, gdy address jest adresem sieci. |
|
user |
użytkownik iRODS z dostępem. |
Zmienna irods_cfg_environment_variables
jest słownikiem, w którym klucz to nazwa zmiennej środowiskowej procesu serwera, a wartość to wartość tej zmiennej środowiskowej.
Zmienna irods_cfg_federation
jest tablicą obiektów federation
. Obiekt federation
ma następujące pola, wszystkie są wymagane.
Pole | Możliwości | Komentarze |
---|---|---|
catalog_provider_hosts |
Lista FQDN lub adresów IP dostawców usług katalogowych w federowanej strefie. | |
negotiation_key |
32-bajtowy klucz szyfrowania federowanej strefy. | |
zone_key |
Wspólny sekret uwierzytelniający z federowaną strefą. | |
zone_name |
Nazwa federowanej strefy. |
Zmienna irods_cfg_host_entries
jest tablicą obiektów host_entry
. Obiekt host_entry
ma następujące pola, wszystkie są wymagane.
Pole | Możliwości | Komentarze |
---|---|---|
address_type |
local, remote | Określa, czy ten host to localhost. |
addresses |
Tablica nazw i adresów odnoszących się do tego hosta. |
Zmienna irods_cfg_icat
jest obiektem icat
. Obiekt icat
ma następujące pola, żadne z nich nie jest obowiązkowe.
Pole | Domyślna | Możliwości | Komentarz |
---|---|---|---|
catalog_database_type |
postgres | mysql, oracle, postgres | Typ bazy danych, której używa iRODS dla iCAT. patrz poniżej |
db_host |
localhost | Nazwa hosta systemu DBMS | |
db_name |
ICAT | Nazwa bazy danych używanej jako iCAT | |
db_password |
testpassword | Hasło używane przez db_username do połączenia z db_name |
|
db_port |
5432 | Port, na którym nasłuchuje serwer bazy danych | |
db_username |
irods | Nazwa użytkownika bazy danych | |
odbc_driver |
null | Sterownik ODBC do użycia, jeśli null , sterownik zostanie określony automatycznie. |
Dla catalog_database_type
tylko postgres
zostało w pełni przetestowane.
Ustawienia faktów
Jeśli którykolwiek z plików konfiguracyjnych iRODS ulegnie zmianie, fakt irods_cfg_made_changes
zostanie ustawiony na true
.
Zależności
Brak
Przykładowe playbooki
# Klient
- 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
# Dostawca usług katalogowych
- 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: "Nie martw się! !"
zone_key: złam mnie
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: tajne
db_username: icatuser
irods_cfg_negotiation_key: Po prostu zgadnij to .
irods_cfg_re_additional_rulebases:
- ipc_custom
irods_cfg_server_control_plane_key: "Nie mówie ."
irods_cfg_server_port_range_end: 20399
irods_cfg_transfer_buffer_size_for_parallel_transfer: 32
irods_cfg_zone_key: tajne
irods_cfg_zone_name: iplant
irods_cfg_zone_user: cyverse_admin
# Konsument usługi katalogowej działający jako serwer zasobów
- 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: Po prostu zgadnij to .
irods_cfg_re_additional_rulebases:
- ipc_custom
irods_cfg_server_control_plane_key: "Nie mówie ."
irods_cfg_server_port_range_end: 20399
irods_cfg_transfer_buffer_size_for_parallel_transfer: 32
irods_cfg_zone_key: tajne
irods_cfg_zone_name: iplant
irods_cfg_zone_user: has_admin
Licencja
Zobacz licencję.
Informacje o autorze
Tony Edgin
tedgin@arizona.edu
CyVerse
ansible-galaxy install CyVerse-Ansible.irods_cfg