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]

Reply via email to