CyVerse-Ansible.irods_cfg
cyverse-ansible.irods-cfg
This tool helps set up an iRODS server once iRODS is installed. Currently, it can manage these configuration files:
- 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
Requirements
You need to have iRODS version 4.2.8 installed.
How It Works
The main tasks file, main.yml
, runs the same tasks as server.yml
, which involves setting up the files needed for an iRODS server.
There are two specific tasks files:
client.yml
handles configuration files for the client (like iCommands) and currently installs the irods_environment.json file.server.yml
manages configuration files necessary for the iRODS server.
Several tasks files focus on individual iRODS configuration files. For example, irods_environment.yml
deals with the client configuration file irods_environment.json
. In the etc/irods/
directory, other files deploy their respective configuration files like host_access_control_config.json
and server_config.json
.
Additional tasks like setup_irods.yml
and init_zone_user.yml
do not belong to main.yml
or tier-specific tasks. setup_irods.yml
prepares the ICAT database before server.yml
, and init_zone_user.yml
sets up the iRODS zone user on the inventory host.
Role Variables
Below are the role variables, and none of them are required.
Variable | Default | Choices | Comment |
---|---|---|---|
irods_cfg_access_entries |
[] | A list of access entries defining who can access iRODS | |
irods_cfg_authentication_file |
/var/lib/irods/.irods/.irodsA | Authentication file for the client or server | |
irods_cfg_catalog_provider_hosts |
[ localhost ] |
List of hostnames or IP addresses for catalog service providers | |
irods_cfg_catalog_service_role |
provider | consumer, provider | Role of the iRODS server |
irods_cfg_client_default_hash_scheme |
irods_cfg_default_hash_scheme |
MD5, SHA256 | Checksum scheme for client |
irods_cfg_client_default_resource |
irods_cfg_default_resource_name |
Default resource name for client operations | |
... (other variables) |
More variables are available to configure various aspects of your iRODS setup, such as encryption settings, logging levels, and user permissions.
Facts Set
If any iRODS configuration files change, the fact irods_cfg_made_changes
will be set to true
.
Dependencies
None required.
Example Playbooks
# Client Setup
- 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
# Catalog Service Provider
- hosts: irods_catalog_provider
roles:
- role: cyverse-ansible.irods-cfg
vars:
irods_cfg_default_hash_scheme: MD5
irods_cfg_default_resource_name: CyVerseRes
...
# Catalog Service Consumer
- hosts: irods_resource_server
roles:
- role: cyverse-ansible.irods-cfg
vars:
irods_cfg_default_resource_directory: /f2/haboob
...
License
See license.
Author Information
Tony Edgin
tedgin@arizona.edu
CyVerse
An ansible role for configuring an iRODS server
ansible-galaxy install CyVerse-Ansible.irods_cfg