yasithdev opened a new pull request, #598:
URL: https://github.com/apache/airavata/pull/598
## Summary
Phase 2 of the airavata-api domain module reorganization. Creates three
decoupled domain modules that can be composed independently for research
workloads:
- **`o.a.a.credential`** (47 files) — Credential store (SSH/password/cert),
account provisioning, SSH services. Foundation module that both compute and
storage depend on for adaptor initialization via token IDs.
- **`o.a.a.storage`** (43 files) — Storage resource definitions, data
movement protocols (GridFTP/SCP/Local/Unicore), replica catalog, data staging
tasks, storage adaptors.
- **`o.a.a.compute`** (162 files) — Compute resource definitions,
application catalog, job submission tasks
(SLURM/PBS/LSF/UGE/HTCondor/Fork/AWS), agent adaptors, SSH wrappers.
### Design principles
- **Decoupled abstractions:** Storage and compute are independent — you can
use storage without knowing about job submission, and vice versa
- **Credential as foundation:** Tasks work with token IDs (strings); the
adaptor layer internally resolves tokens to SSH keys
- **Consistent layering:** Each module follows
model/repository/service/task/util convention
- **Composable:** These modules can be mixed and matched to run research
workloads on different backends
### What moved where
| Source | Destination |
|--------|------------|
| `credential/store/**` | `credential/{model,repository,handler,util}` |
| `accountprovisioning/**` | `credential/service/provisioning` |
| `service/{credential,ssh}` | `credential/service` |
| `registry/core/entities/replicacatalog/**` | `storage/model` |
| `registry/core/entities/appcatalog/Storage*,DataMovement*` |
`storage/model` |
| `helix/impl/task/staging/{DataStaging,Input,Output,Archive}` |
`storage/task` |
| `agents/{api/StorageResourceAdaptor,streaming/**}` | `storage/util` |
| `registry/core/entities/appcatalog/**` (remaining 74) | `compute/model` |
| `registry/core/repositories/appcatalog/**` (remaining 23) |
`compute/repository` |
| `helix/impl/task/submission/**` | `compute/task` |
| `helix/impl/task/aws/**` | `compute/task/aws` |
| `agents/api/**`, `helix/adaptor/**`, `helix/agent/ssh/**` | `compute/util`
|
Stacked on #597 (Phase 1).
## Test plan
- [x] `mvn compile` passes
- [x] `mvn test-compile` passes
- [x] `mvn package -DskipTests` passes (all Spring Boot modules)
- [ ] `tilt up` health check
- [ ] Full test suite
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]