CyVerse-Ansible.irods_cfg

cyverse-ansible.irods-cfg

Ansible Galaxy Test Status

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

O projekcie

An ansible role for configuring an iRODS server

Zainstaluj
ansible-galaxy install CyVerse-Ansible.irods_cfg
Licencja
other
Pobrania
142
Właściciel