Component leads
The component lead is responsible for the planning and development of patches and features for the respective component. This does not mean that the component lead is the only person developing the component, but he/she should direct the efforts and be the point of contact in case of problems. The expectations on component leads and their deputies are described in detail in the component lead duties guide.
Rucio Project Leader: Martin Barisits
| Component | Lead (+Deputies) | Description |
|---|---|---|
| Authentication & Authorisation | Dimitrios Christidis, Mario Lassnig | Client-server authentication, Rucio tokens, auth methods (kerberos, ssh, userpass, OIDC, ...) |
| Clients | Maggie Voetberg, Mario Lassnig | General Python Clients and Command Line interface related development, rucio download, rucio upload; Specific component related client functionality is part of the other components |
| Consistency checks | Fabio Luchetti | Consistency between catalogue and storage, dark data and lost file detection: Auditor |
| Core & Internals | Martin Barisits, Mario Lassnig | Core functionality not specifically part of other components |
| Database | Dimitrios Xenakis, Mario Lassnig, Martin Barisits | Database (Compatibility and optimisation) and SQLAlchemy framework specific issues |
| Dataset deletion | Alexander Richards, Martin Barisits | Dataset deletion daemon: Undertaker |
| Deletion | Hugo Gonzalez Labrador, Cedric Serfon | File deletion daemon: Reaper |
| DIRAC | Maximilian Linhoff, Cedric Serfon | Rucio integration with Dirac |
| Docker & Kubernetes | Benedikt Ziemons | Container images, Helm charts, and the Kubernetes tutorial for deploying Rucio (rucio/containers, rucio/helm-charts, rucio/k8s-tutorial) |
| Documentation | Maggie Voetberg, Martin Barisits | Code documentation and project documentation: rucio/documentation repository and the documentation website |
| Jupyterlab extension | Francesc Torradeflot, Giovanni Guerrieri | JupyterLab extension to browse and access Rucio data from notebooks (rucio/jupyterlab-extension) |
| Life time model | Dimitrios Christidis | Life time model processing and exceptions |
| Messaging | Alexander Richards, Mario Lassnig | Messaging daemon: Hermes, Creation of eMails and ActiveMQ messages |
| Metadata | Rob Barnsley, Dimitrios Xenakis | DID metadata storage and querying, including plugins for external metadata catalogues |
| Monitoring & Traces | Mayank Sharma, Mario Lassnig | All things internal monitoring and traces |
| Multi VO | Tim Noble | Running a single Rucio instance serving multiple virtual organisations (Multi-VO mode) |
| Policies | James Perry | Community-specific policy packages: permission models, schema validation, and algorithms |
| Probes & Alarms | Dimitrios Christidis, Eric Vaandering | Probes and alarms for Nagios |
| Protocols | Maggie Voetberg, Mario Lassnig | Protocols (Upload, Download, Deletion) |
| Rebalancing | Cedric Serfon | Data rebalancing daemon: BB8 |
| Recovery | Cedric Serfon | Data recovery daemon: Necromancer and suspicious replica recovery |
| Release management | Martin Barisits, Dimitrios Christidis | Packaging of new versions, package configuration |
| Replicas | Alexander Richards | Replicas related workflows (list_replicas, add_replica, ...) |
| REST & API | Maggie Voetberg, Martin Barisits | REST API endpoints and the Flask web framework |
| Rules | Martin Barisits | Replication rules and rule daemons: Judge |
| Security | Benedikt Ziemons | Overseeing software security in Rucio project, setting and monitoring the security policy in the project, reacting to incidents, advising project leader and component leads in matters of security |
| Subscriptions | Cedric Serfon | Subscription daemon: Transmogrifier |
| Testing | Mayank Sharma | Regression and Unit tests, automatic tests of submissions |
| Transfers | Hugo Gonzalez Labrador | Transfer daemons: conveyor and functional transfer tests |
| WebUI | Mayank Sharma | Web user interface: Rucio Web UI |