Happy New Year!
I hope everyone had a nice relaxing break. It's time for our first development update so let's get started.
Since the release of iRODS 4.3.1, we've shifted focus to projects around the iRODS server.
The first update is about externals packages. They are receiving a much needed improvement in the form of better version numbers. If you'd like to read more about that, see https://github.com/irods/externals/issues/219. Not only that, but work to provide better dependency declarations for externals packages is also in progress.
One thing we haven't mentioned is that we've been working on new test infrastructure. The Docker-based Testing Environment made running tests and standing up different configurations significantly easier. We're very pleased with the results of the Docker-based Testing environment and we intend to continue maintaining it. However, this new test infrastructure is being designed for Kubernetes. This is still in the early phases of development. We'll share more as UGM approaches.
Next up is the Metadata Guard rule engine plugin. We're now updating the plugin to understand atomic metadata operations. This will bring the plugin closer to covering all paths to metadata manipulation.
We've fixed a few issues in the S3 resource plugin. Decoupled mode does a better job at honoring server redirects. Support for appending data has been improved as well. Due to libs3 being absorbed into the plugin, we've re-licensed the plugin to LGPLv3/GPLv2. For those who are worried about the change in licensing, you can rest easy knowing you don't have to change anything you're doing.
Storage Tiering 4.3.1.1 is now available. This latest release included several improvements, two of which were contributed by SURF (a Consortium member). Please see the Technology Working Group notes below for details.
A much needed tweak to the Python rule engine plugin is almost ready. To be specific, the next release of the plugin will make global_vars
available to all imported modules. This means administrators can keep their core.py file clean and delegate the business logic to imported modules.
Last month, we announced the release of the NetCDF project for iRODS 4.3.1. We're now looking into possibly archiving this project because we feel there are better alternatives (e.g. Python). If you have questions about this, don't hestitate to reach out to us via email or any other channel.
We've covered packaging, testing, and plugins. Let's talk about clients.
First up is the Python iRODS client (PRC). For those users working in a 4.3.1 environment, you'll be happy to know support for pam_password has been implemented. Improvements for TTL have also been implemented. A new release of the PRC is inching closer and closer, so stay tuned.
The HTTP API is seeing steady improvements. Support for HTTPS for OpenID Connect is very close. There have been a number of general improvements across the board. For example, configuring OpenID Connect is becoming simpler, the data objects endpoint now supports streaming reads like the C++ REST API, and the server now validates the configuration on startup.
To wrap up, our next goal for the S3 API is to add support for multipart upload. This will require a lot of thought and care, but we're confident we can deliver.
That's it! Talk to you in February.
Metadata Templates Working Group
New Development Work
Active Development Work
Build and Packaging
Unified Storage Tiering Capability
Background Items
Docker-based Development Environment
Docker-based Testing Environment
iRODS Command Line Interface (CLI)
Policy Composition
Logical Locking
New RPC API framework
Parallel Filesystem Integration
CockroachDB Database Plugin
Discussion