Kory Draughn
Chief Technologist
iRODS Consortium
Technology Update
June 17-20, 2025
iRODS User Group Meeting 2025
Durham, North Carolina
Contributors
iRODS Release | Issues Closed |
---|---|
4.3.3 | 89 |
4.3.4 | 134 |
5.0.0 | 178 |
5.0.1 | 5 |
Kory Draughn
Alan King
Markus Kitsinger
Derek Dong
Martin Jaime Flores Jr
Terrell Russell
Justin James
Daniel Moore
Nishant Dash
Violet White
Felix A. Croes
Phillip Davis
Awab
Peter Verraedt
June Releford
lenocil
4.3.3 Release Highlights
4.3.4 Release Highlights
ilocate
, igetwild
, imeta qu
, imeta
's interactive modeimiscsvrinfo
reports SSL/TLS certificate information
Made possible through enhancements to the rcGetMiscSvrInfo
API endpoint
Server removes ACLs following the removal of a user
Expanded permission levels supported by the atomic ACL operations API endpoint
5.0.0 / 5.0.1 Release
iRODS 5 represents a significant effort to deliver an enterprise grade data management platform.
Great focus has been put into making iRODS 5 easy to deploy and manage in a variety of environments.
4.3.2 Core Server Updates
** Bold items discussed in this talk **
GenQuery2
GenQuery2 is now shipped with the server.
It is still considered experimental, but use is encouraged.
Its implementation can change as a result of community feedback.
Not used by the server, yet.
GenQuery2 will be available in the next release of the Python iRODS Client and Jargon.
New API - rc_replica_truncate
Allows applications to adjust the size of a single replica.
Motivated by NFSRODS.
Additional Information
truncate(2)
rcDataObjTruncate
(deprecated)
There are plans to add support for an ftruncate
-style API as well.
Serialization of more iRODS data types
iRODS 4.3.2 now serializes the following data types for the rule engine plugin framework.
StructFileExtAndRegInp
(ibun
)
ExecMyRuleInp
(irule
)
MsParamArray
(irule
)
Policy implementers can now inspect the contents of requests dealing with archive files and rule execution, and react accordingly.
iRODS 5.0 - Primary Goals
Modernize the startup/shutdown process for the iRODS server.
Things we are going to address ...
SIGHUP
signal
We are considering ...
iRODS 5.0 - Early Design and Implementation
Experimentation is now in progress. It's too early to assert anything about the design/implementation. Initial design is heavily influenced by the iRODS HTTP API.
At the moment, the plan is to honor the following ...
Core Development Team Talks
Not in This Talk / Separate Talks
Phil Owen
iRODS Build and Test v9: Automation via GitHub and Kubernetes
Markus Kitsinger
iRODS Build and Packaging: 2024 Update
Kory Draughn and Martin Flores
iRODS HTTP API v0.3.0 with OpenID Connect
Justin James
iRODS S3 API v0.2.0 with Multipart
Terrell Russell
DAViDD: Initial data management solution for UNC's READDI AViDD Center
iRODS Metadata Templates Working Group: Building Blocks and Lessions Learned
Included in This Talk
Kory Draughn
Indexing Capability Plugin
Python Rule Engine Plugin
Derek Dong
Metadata Guard Rule Engine Plugin
Justin James
S3 Resource Plugin
Globus Connector
Daniel Moore
Python iRODS Client
Kory Draughn
NFSRODS
Indexing Capability Plugin
Python Rule Engine Plugin
irods_rule_vars
now available in more contexts
irods_rule_vars
formerly known as global_vars
global_vars
Improved documentation
print()
Metadata Guard Rule Engine Plugin
Resolved some holes in the implementation.
imeta rmw
"irod%"
)S3 Resource Plugin and Globus Connector
S3 Resource Plugin
Globus Connector
O_CREAT
flag is now set on the first open for write operationsPython iRODS Client - from 1.1.9 to 2.0.1
$ git shortlog --summary --numbered v1.1.9..v2.0.1 25 d-w-moore 7 Terrell Russell 1 Raoul Schram
Release | Issues Affected |
---|---|
1.1.9 | 6 |
2.0.0 | 20 |
2.0.1 | 9 |
Total | 35 |
Python iRODS Client - from 1.1.9 to 2.0.1 (cont.)
Bug fixes
ssl_verify_server = 'none'
stopped working
New features
Python iRODS Client - from 1.1.9 to 2.0.1 (cont.)
Deprecation and Removal
permissions
manager has been removed (originally deprecated)
acls
manager
ils -A
Compatibility Updates
pam_password
support since 2.0.0
NFSRODS - from 2.1.0 to 2.3.0
Updates
ips
Ongoing Investigations
Release | Issues Closed |
---|---|
2.2.0 | 14 |
2.3.0 | 6 |
iRODS Internships - Summer 2024
Convert existing web applications to our new HTTP API (ReactJS + HTTP)
The relatively new iRODS Zone Management Tool is due for its first refactor. Originally built to talk with a REST API, it needs to be converted to talk to the new iRODS HTTP API. If this work on the administrator tool proves pretty straightforward, we are interested in evaluating a similar refactor for our user-level GUI, Metalnx (or to even start designing a new webapp from scratch).
Create new client libraries around our new HTTP API (Various Languages)
Our new iRODS HTTP API is making it easier for developers to interact with the iRODS ecosystem. We would like to help them even more by providing new client libraries in various languages that wrap their native or library-provided http calls. We are most interested in Java, Python, and Javascript, but any language will provide a learning opportunity and help map out the space for other languages.
Big Picture
Core
4.3 - Focus on stability, bug fixes, plugins, clients
5.0 - Modernize the deployment process, improve determinism, libstdc++
Clients
GUIs (ZMT, Metalnx, et al.)
Onboarding and Syncing (Automated Ingest)
File System Integration (NFSRODS, SFTP)
iRODS HTTP API
iRODS S3 API
Continue building out policy components (Capabilities).
We want installation and management of iRODS to become about policy design, composition, and configuration.
Please share your ...
Use cases
Pain points
Hopes and dreams
Open Source Community Engagement
Get Involved
Working Groups
GitHub Issues
Pull Requests
Chat List
Consortium Membership
Tell Others
Publish, Cite, Advocate, Refer