This is an automated email from the ASF dual-hosted git repository.
yasithdev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata.git
The following commit(s) were added to refs/heads/master by this push:
new 4ba2624a66 refactor: merge sharing-service into iam-service (#645)
4ba2624a66 is described below
commit 4ba2624a6657670c181972e2c7adc6591cc89395
Author: Yasith Jayawardana <[email protected]>
AuthorDate: Sun Jun 7 22:36:16 2026 -0400
refactor: merge sharing-service into iam-service (#645)
Fold the sharing-service module into iam-service so that identity
(authentication, user/tenant profiles, gateways) and access control
(permissions, groups, resource sharing) live in a single IAM module,
eliminating the sharing -> iam internal module dependency. This is a
module-level merge only: all sources move under iam-service with their
org.apache.airavata.sharing.* Java packages and org.apache.airavata.api.sharing
/ .groupmanager proto packages preserved, so every consumer import [...]
---
CLAUDE.md | 3 +-
airavata-api/iam-service/pom.xml | 2 +-
.../sharing/config/SharingServiceConfig.java | 0
.../event/SharingServiceDBEventHandler.java | 0
.../SharingServiceDBEventMessagingFactory.java | 0
.../sharing/grpc/GroupManagerGrpcService.java | 0
.../airavata/sharing/grpc/SharingGrpcService.java | 0
.../airavata/sharing/model/DomainEntity.java | 0
.../sharing/model/DuplicateEntryException.java | 0
.../airavata/sharing/model/EntityEntity.java | 0
.../apache/airavata/sharing/model/EntityPK.java | 0
.../airavata/sharing/model/EntityTypeEntity.java | 0
.../airavata/sharing/model/EntityTypePK.java | 0
.../airavata/sharing/model/GroupAdminEntity.java | 0
.../airavata/sharing/model/GroupAdminPK.java | 0
.../sharing/model/GroupMembershipEntity.java | 0
.../airavata/sharing/model/GroupMembershipPK.java | 0
.../sharing/model/PermissionTypeEntity.java | 0
.../airavata/sharing/model/PermissionTypePK.java | 0
.../airavata/sharing/model/SharingEntity.java | 0
.../apache/airavata/sharing/model/SharingPK.java | 0
.../sharing/model/SharingRegistryException.java | 0
.../apache/airavata/sharing/model/UserEntity.java | 0
.../airavata/sharing/model/UserGroupEntity.java | 0
.../apache/airavata/sharing/model/UserGroupPK.java | 0
.../org/apache/airavata/sharing/model/UserPK.java | 0
.../sharing/repository/AbstractRepository.java | 0
.../sharing/repository/DomainRepository.java | 0
.../sharing/repository/EntityRepository.java | 0
.../sharing/repository/EntityTypeRepository.java | 0
.../sharing/repository/GroupAdminRepository.java | 0
.../repository/GroupMembershipRepository.java | 0
.../repository/PermissionTypeRepository.java | 0
.../sharing/repository/SharingRepository.java | 0
.../sharing/repository/UserGroupRepository.java | 0
.../sharing/repository/UserRepository.java | 0
.../sharing/service/ResourceSharingService.java | 0
.../airavata/sharing/service/SharingService.java | 0
.../airavata/sharing/util/ConnectionFactory.java | 0
.../apache/airavata/sharing/util/DBConstants.java | 0
.../airavata/sharing/util/SharingConstants.java | 0
.../sharing/util/SharingModelConverter.java | 0
.../sharing/util/SharingRegistryDBInitConfig.java | 0
.../src/main/proto/group_manager_service.proto | 0
.../src/main/proto/sharing_service.proto | 0
.../service/ResourceSharingServiceTest.java | 0
airavata-api/research-service/pom.xml | 5 -
airavata-api/sharing-service/pom.xml | 123 ---------------------
.../src/test/resources/META-INF/persistence.xml | 2 +-
airavata-server/pom.xml | 5 -
pom.xml | 1 -
51 files changed, 3 insertions(+), 138 deletions(-)
diff --git a/CLAUDE.md b/CLAUDE.md
index e555374792..272b9f0a1c 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -80,10 +80,9 @@ Contains all service modules, each with
`src/main/{java,proto,resources}`:
| Module | Purpose |
|--------|---------|
-| `iam-service` | User auth via Keycloak, gateways, user profiles |
+| `iam-service` | User auth via Keycloak, gateways, user profiles;
permissions, groups, resource access control (sharing) |
| `credential-service` | SSH key and password vault |
| `compute-service` | HPC resource catalog, resource profiles, scheduling |
-| `sharing-service` | Permissions, groups, resource access control |
| `research-service` | Projects, experiments, app catalog, data products |
| `storage-service` | Storage registry, file operations |
| `orchestration-service` | Workflow orchestration, job monitoring (Helix
state machine) |
diff --git a/airavata-api/iam-service/pom.xml b/airavata-api/iam-service/pom.xml
index f579235c01..8c80863f61 100644
--- a/airavata-api/iam-service/pom.xml
+++ b/airavata-api/iam-service/pom.xml
@@ -31,7 +31,7 @@ under the License.
<artifactId>iam-service</artifactId>
<name>IAM Service</name>
- <description>Security, authentication, and user/tenant profile service
implementation</description>
+ <description>Identity and access management: authentication, user/tenant
profiles, permissions, groups, and resource sharing</description>
<dependencies>
<dependency>
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/config/SharingServiceConfig.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/config/SharingServiceConfig.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/config/SharingServiceConfig.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/config/SharingServiceConfig.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/event/SharingServiceDBEventHandler.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/event/SharingServiceDBEventHandler.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/event/SharingServiceDBEventHandler.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/event/SharingServiceDBEventHandler.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/event/SharingServiceDBEventMessagingFactory.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/event/SharingServiceDBEventMessagingFactory.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/event/SharingServiceDBEventMessagingFactory.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/event/SharingServiceDBEventMessagingFactory.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/grpc/GroupManagerGrpcService.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/grpc/GroupManagerGrpcService.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/grpc/GroupManagerGrpcService.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/grpc/GroupManagerGrpcService.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/grpc/SharingGrpcService.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/grpc/SharingGrpcService.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/grpc/SharingGrpcService.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/grpc/SharingGrpcService.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/DomainEntity.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/DomainEntity.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/DomainEntity.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/DomainEntity.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/DuplicateEntryException.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/DuplicateEntryException.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/DuplicateEntryException.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/DuplicateEntryException.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/EntityEntity.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/EntityEntity.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/EntityEntity.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/EntityEntity.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/EntityPK.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/EntityPK.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/EntityPK.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/EntityPK.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/EntityTypeEntity.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/EntityTypeEntity.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/EntityTypeEntity.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/EntityTypeEntity.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/EntityTypePK.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/EntityTypePK.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/EntityTypePK.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/EntityTypePK.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/GroupAdminEntity.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/GroupAdminEntity.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/GroupAdminEntity.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/GroupAdminEntity.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/GroupAdminPK.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/GroupAdminPK.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/GroupAdminPK.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/GroupAdminPK.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/GroupMembershipEntity.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/GroupMembershipEntity.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/GroupMembershipEntity.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/GroupMembershipEntity.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/GroupMembershipPK.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/GroupMembershipPK.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/GroupMembershipPK.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/GroupMembershipPK.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/PermissionTypeEntity.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/PermissionTypeEntity.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/PermissionTypeEntity.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/PermissionTypeEntity.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/PermissionTypePK.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/PermissionTypePK.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/PermissionTypePK.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/PermissionTypePK.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingEntity.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/SharingEntity.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingEntity.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/SharingEntity.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingPK.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/SharingPK.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingPK.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/SharingPK.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingRegistryException.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/SharingRegistryException.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/SharingRegistryException.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/SharingRegistryException.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/UserEntity.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/UserEntity.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/UserEntity.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/UserEntity.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/UserGroupEntity.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/UserGroupEntity.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/UserGroupEntity.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/UserGroupEntity.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/UserGroupPK.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/UserGroupPK.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/UserGroupPK.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/UserGroupPK.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/UserPK.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/UserPK.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/model/UserPK.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/model/UserPK.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/AbstractRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/AbstractRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/AbstractRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/AbstractRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/DomainRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/DomainRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/DomainRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/DomainRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/EntityRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/EntityRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/EntityRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/EntityRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/EntityTypeRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/EntityTypeRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/EntityTypeRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/EntityTypeRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/GroupAdminRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/GroupAdminRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/GroupAdminRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/GroupAdminRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/GroupMembershipRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/GroupMembershipRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/GroupMembershipRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/GroupMembershipRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/PermissionTypeRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/PermissionTypeRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/PermissionTypeRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/PermissionTypeRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/SharingRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/SharingRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/SharingRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/SharingRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/UserGroupRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/UserGroupRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/UserGroupRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/UserGroupRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/UserRepository.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/UserRepository.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/repository/UserRepository.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/repository/UserRepository.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/service/ResourceSharingService.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/service/ResourceSharingService.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/service/ResourceSharingService.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/service/ResourceSharingService.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/service/SharingService.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/service/SharingService.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/service/SharingService.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/service/SharingService.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/ConnectionFactory.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/ConnectionFactory.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/ConnectionFactory.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/ConnectionFactory.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/DBConstants.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/DBConstants.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/DBConstants.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/DBConstants.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/SharingConstants.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/SharingConstants.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/SharingConstants.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/SharingConstants.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/SharingModelConverter.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/SharingModelConverter.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/SharingModelConverter.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/SharingModelConverter.java
diff --git
a/airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/SharingRegistryDBInitConfig.java
b/airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/SharingRegistryDBInitConfig.java
similarity index 100%
rename from
airavata-api/sharing-service/src/main/java/org/apache/airavata/sharing/util/SharingRegistryDBInitConfig.java
rename to
airavata-api/iam-service/src/main/java/org/apache/airavata/sharing/util/SharingRegistryDBInitConfig.java
diff --git
a/airavata-api/sharing-service/src/main/proto/group_manager_service.proto
b/airavata-api/iam-service/src/main/proto/group_manager_service.proto
similarity index 100%
rename from
airavata-api/sharing-service/src/main/proto/group_manager_service.proto
rename to airavata-api/iam-service/src/main/proto/group_manager_service.proto
diff --git a/airavata-api/sharing-service/src/main/proto/sharing_service.proto
b/airavata-api/iam-service/src/main/proto/sharing_service.proto
similarity index 100%
rename from airavata-api/sharing-service/src/main/proto/sharing_service.proto
rename to airavata-api/iam-service/src/main/proto/sharing_service.proto
diff --git
a/airavata-api/sharing-service/src/test/java/org/apache/airavata/sharing/service/ResourceSharingServiceTest.java
b/airavata-api/iam-service/src/test/java/org/apache/airavata/sharing/service/ResourceSharingServiceTest.java
similarity index 100%
rename from
airavata-api/sharing-service/src/test/java/org/apache/airavata/sharing/service/ResourceSharingServiceTest.java
rename to
airavata-api/iam-service/src/test/java/org/apache/airavata/sharing/service/ResourceSharingServiceTest.java
diff --git a/airavata-api/research-service/pom.xml
b/airavata-api/research-service/pom.xml
index 6a5e040495..2c750a7c5a 100644
--- a/airavata-api/research-service/pom.xml
+++ b/airavata-api/research-service/pom.xml
@@ -85,11 +85,6 @@ under the License.
<artifactId>compute-service</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>sharing-service</artifactId>
- <version>${project.version}</version>
- </dependency>
<!-- Test dependencies -->
<dependency>
diff --git a/airavata-api/sharing-service/pom.xml
b/airavata-api/sharing-service/pom.xml
deleted file mode 100644
index e70dc6c760..0000000000
--- a/airavata-api/sharing-service/pom.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.airavata</groupId>
- <artifactId>airavata</artifactId>
- <version>0.21-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <artifactId>sharing-service</artifactId>
- <name>Sharing Service</name>
- <description>Sharing registry service implementation</description>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>airavata-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>iam-service</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <!-- Spring (optional in airavata-api, needed here for
@Component/@Service) -->
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-jpa</artifactId>
- </dependency>
-
- <!-- Test dependencies -->
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>airavata-api</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.testcontainers</groupId>
- <artifactId>testcontainers</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.testcontainers</groupId>
- <artifactId>mariadb</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <!-- Protobuf code generation -->
- <plugin>
- <groupId>io.github.ascopes</groupId>
- <artifactId>protobuf-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-proto-sources</id>
- <goals><goal>generate</goal></goals>
- <phase>generate-sources</phase>
- <configuration>
- <protocVersion>4.29.5</protocVersion>
- <sourceDirectories>
-
<sourceDirectory>${project.basedir}/src/main/proto</sourceDirectory>
- </sourceDirectories>
- <importPaths>
-
<importPath>${project.basedir}/../src/main/proto</importPath>
- </importPaths>
- <binaryMavenPlugins>
- <binaryMavenPlugin>
- <groupId>io.grpc</groupId>
-
<artifactId>protoc-gen-grpc-java</artifactId>
- <version>1.73.0</version>
- <options>@generated=omit</options>
- </binaryMavenPlugin>
- </binaryMavenPlugins>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/airavata-api/src/test/resources/META-INF/persistence.xml
b/airavata-api/src/test/resources/META-INF/persistence.xml
index 9b72f00cfb..758f1d3e88 100644
--- a/airavata-api/src/test/resources/META-INF/persistence.xml
+++ b/airavata-api/src/test/resources/META-INF/persistence.xml
@@ -100,7 +100,7 @@
<class>org.apache.airavata.research.model.SessionEntity</class>
<class>org.apache.airavata.research.model.TagEntity</class>
- <!-- sharing-service -->
+ <!-- iam-service (sharing / access control) -->
<class>org.apache.airavata.sharing.model.DomainEntity</class>
<class>org.apache.airavata.sharing.model.EntityEntity</class>
<class>org.apache.airavata.sharing.model.EntityTypeEntity</class>
diff --git a/airavata-server/pom.xml b/airavata-server/pom.xml
index 5a70c73d9b..51d04af435 100644
--- a/airavata-server/pom.xml
+++ b/airavata-server/pom.xml
@@ -80,11 +80,6 @@ under the License.
<artifactId>iam-service</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.airavata</groupId>
- <artifactId>sharing-service</artifactId>
- <version>${project.version}</version>
- </dependency>
<!-- Database driver -->
<dependency>
diff --git a/pom.xml b/pom.xml
index d530dd9526..58d802f34f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,7 +72,6 @@ under the License.
<module>airavata-api/iam-service</module>
<module>airavata-api/credential-service</module>
<module>airavata-api/compute-service</module>
- <module>airavata-api/sharing-service</module>
<module>airavata-api/research-service</module>
<module>airavata-api/storage-service</module>
<module>airavata-api/orchestration-service</module>