Roadmap


This Technology Roadmap documents the state of the technical direction chosen for the iRODS data management software. It is the product of community feedback, our collective experience, and the guidance of the iRODS Consortium Technology Working Group.

If you have an opinion about where iRODS should go next, I encourage you to participate in this open software development process. Join the iRODS chat Google Group. Raise issues on GitHub. And if you are a Consortium Member, get involved in the Technology Working Group.

Kory Draughn
Chief Technologist
The iRODS Consortium



Document History




2023

Kory Draughn
Chief Technologist
The iRODS Consortium
April 2023

iRODS 2023 Roadmap

With each release of iRODS, the server, libraries, and clients become more stable and featureful. The needs of users and administrators become more complex over time. Users want tools and GUIs that are easy to understand quickly. Administrators want more flexibility and visibility into what the system is doing.

In order to facilitate these needs, the Consortium plans to improve approachability by focusing on the following:

The Server

  • Make implementing the iRODS Protocol less complicated by moving to HTTP or designing a new protocol
    • Any move to HTTP will be heavily influenced by the C++ REST API
    • If we choose to design a new protocol, it will be documented and versioned
  • Replace the PackStruct serialization library
    • Use an actively maintained and proven serialization library (e.g. Protocol Buffers, Flatbuffers, etc.)
      • Enables a straightforward path to supporting the most popular programming languages
      • API specification is documented as a result of using the library and tools
  • Make the server cloud-friendly
    • Improve startup time
    • Improve flexibility around dynamic host names
    • Treat every server as a Catalog Service Provider
    • Centralize configuration
  • Improve support for archive files
    • Make archive entries visible in the catalog
      • Design new abstractions, semantics, and APIs
    • Deprecate all functionality stemming from special collections and imcoll

Plugins and Capabilities

  • Finish and release the Policy Composition rule engine plugin
  • Finish and release the Publishing capability

Libraries

  • Add support for the new Authentication Plugin Framework introduced in the iRODS 4.3 series
    • All client-side libraries, regardless of the programming language, must be updated
    • Required for pam_interactive authentication scheme
      • This becomes the default for iCommands

Clients

  • Replace iCommands with a new CLI
    • A single binary backed by a plugin architecture allowing its functionality to be extended
    • No memory leaks and proper signal handling
    • Help text and documentation will be consistent in formatting and detail
  • Improve Metalnx
    • Add support for the pam_interactive authentication scheme
    • Remove the need for helper database
    • Remove most administrative features
      • Administrative features will be absorbed by the Zone Management Tool
    • Remove unnecessary features
    • Provide sane defaults for all configuration options
  • Improve Zone Management Tool
    • Add support for the pam_interactive authentication scheme
    • Allow administrators to manage an entire zone from a single computer
      • Configuration and policy can be modified and applied to one or more servers simultaneously
      • Controls for starting and stopping servers
      • Controls for migrating the Delay server



2017




2015