Hello Everyone,
A lot has happened since the last development update so let's jump right into it.
TRiRODS was amazing! The interns who joined us for the summer did an amazing job on the projects they were assigned and it shows through the presentations they gave at this past TRiRODS. The talks are available online for anyone interested in what each intern worked on. All videos can be found at https://irods.org/trirods.
Since last month, the iRODS server now exposes options for TCP keepalive. The length of passwords for PAM authentication is now configurable. That means passwords can be longer than 50 characters now! The rc_switch_user
API endpoint exposes more options, which allows clients to control its behavior. We also added a new API endpoint called rc_check_auth_credentials
. This new API endpoint allows clients to determine if native authentication credentials are correct. People building clients which act as servers should find this new API useful.
iquery
, provided by the GenQuery2 project, has received some nice quality of life changes. It can now read queries from stdin. A new option for listing all supported GenQuery columns is now available. The listing includes the GenQuery column name and the table and column it is mapped to in the database.
The iRODS Development Environment has been updated to use the new Dockerfile syntax. The new syntax helps us improve the build process by decreasing the size of Docker images and wear on SSDs. Work to provide Dockerfiles for Debian 12 and Rocky Linux 9 is almost complete too.
Jargon, the Java client library for iRODS, finally allows clients to report their name to the iRODS server! With this change, administrators will be able to identify Jargon-based clients using ips
. The next release of NFSRODS will use this new feature.
Speaking of NFSRODS, work to make it resilient across restarts has seen some major progress. The move to use the data_id and coll_id as the inode number was the key to solving the issue. We're now testing and working out the kinks. We hope to have a new release soon. For those interested, you can find the pull request at https://github.com/irods/irods_client_nfsrods/pull/182.
The HTTP API is becoming better each month. Support for the OAuth authentication code grant flow has been implemented. We're now in the polishing phase. Once that's complete, we'll merge it. You can follow that work at pull request #75. Native authentication is significantly better thanks to the new API endpoint, rc_check_auth_credentials
. We're now considering the idea of making the HTTP API compatible with iRODS 4.2.12. Doing that would expose the new interface to more users and allow us to receive more feedback. We haven't made any decisions on this yet. Stay tuned for updates!
A new experimental Python client library is in development. It is being built on top of the new HTTP API. It's still in early stages, so there's not a lot to report at this time. We'll have more to report in the coming months.
Interested in the new R client for iRODS? If so, there's a whole website dedicated to providing the latest information about it. You can check it out at https://irods4r.org.
Automated Ingest now supports PUT_SYNC for S3. It also supports parallel transfers (over port 1247) for S3 too. If you want to learn more, consider watching the talk presented at TRiRODS.
The Zone Management Tool has been updated to work with the next release of iRODS. It has grown partial support for tickets. Administrators can view tickets, but not create them (yet). They can also change where the delay server runs.
Notable updates include compatibility with the upcoming iRODS 4.3.1 release and improved stability for the iRODS S3 Resource plugin. Stability for the Globus Connector has been improved. There are also some topics for discussion related to iput
and bulk operations, as well as how the Consortium plans to handle EOL for OS distributions.
Wow, that was a lot. That wraps up this month's update.
Talk to you next month!
Metadata Templates Working Group
New Development Work
Active Development Work
iRODS Command Line Interface (CLI)
Build and Packaging
Docker-based Testing Environment
Docker-based Development Environment
Unified Storage Tiering Capability
Policy Composition
Background Items
Logical Locking
New RPC API framework
Parallel Filesystem Integration
CockroachDB Database Plugin
Discussion
What should iput -b -f do in the face of resource hierarchies?
How should the Consortium handle (near-)EOL OS distributions?