iRODS 4.0+ represents a major effort to analyze, harden, and package iRODS for sustainability, modularization, security, and testability. This has led to a fairly significant refactorization of much of the underlying codebase. The following descriptions are included to help explain the architecture of iRODS.

The core is designed to be as immutable as possible and serve as a bus for handling the internal logic of the business of iRODS (data storage, policy enforcement, etc.). Nine major interfaces will be exposed by the core and will allow extensibility and separation of functionality into plugins. A few plugins are included by default in iRODS to provide a set of base functionality.

The planned plugin interfaces and their status are listed here:

Plugin Interface Status Since
Pluggable Microservices Complete 3.0b2
Composable Resources Complete 3.0b3
Pluggable Authentication Complete 3.0.1b1
Pluggable Network Complete 3.0.1b1
Pluggable Database Complete 4.0.0b1
Pluggable RPC API Complete 4.0.0b2
Pluggable Rule Engine Complete 4.2.0
Pluggable Transport Planned
Pluggable First Class Objects Planned