You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The proposed architecture is modular and flexible, focusing on these key changes:
59
+
The proposed architecture introduces modularity and deployment flexibility through the following changes:
60
60
61
-
- The Multi-tenant API Gateway is simplified to act only as an HTTP router for Tenant Manager APIs. In the short term,
62
-
it remains Nexus-based, with plans to re-implement it as a lightweight HTTP router in the future.
63
-
- Core services (AO, CO, EIM) expose their APIs directly, removing the need for centralized API gateway coordination.
64
-
- Multi-tenancy is configurable; Tenant Manager and controllers can be enabled or disabled per deployment.
65
-
- When multi-tenancy is off, services initialize a default tenant and restrict API requests to the default project for
66
-
consistent logic.
67
-
- Backward compatibility is maintained for seamless upgrades from existing multi-tenant deployments.
61
+
- Elimination of the Multi-tenant API Gateway, allowing direct API exposure for all core services (App Orchestration, Cluster Orchestration, Infra Manager, Tenant Manager).
62
+
- Multi-tenancy features are now optional and configurable; Tenant Manager and related controllers can be enabled or disabled based on deployment needs.
63
+
- In single-tenant mode, services automatically provision a default tenant and project, ensuring consistent request handling without tenant management overhead.
64
+
- Backward compatibility is preserved, enabling seamless upgrades for existing multi-tenant environments.
68
65
69
66
This modular approach enables organizations to deploy EMF in single-tenant or multi-tenant modes, reducing complexity
70
67
and adapting to varied infrastructure needs. Below are examples of how the new modular architecture enables flexible
@@ -107,16 +104,13 @@ unnecessary, offering a lightweight and efficient integration path.
107
104
108
105
### Core Changes
109
106
110
-
#### Track 1: Reduce the scope of nexus-api-gateway
107
+
#### Track 1: Remove nexus-api-gateway
111
108
112
-
- Limit the nexus-api-gateway’s responsibility to routing only Tenant Manager APIs (`/v1/orgs`, `/v1/projects`).
113
-
- Remove all API remapping configuration from nexus-api-gateway.
114
-
- Add Traefik IngressRoute for EIM, AO, and CO APIs, allowing these services to expose their APIs directly.
115
-
- Ensure that tenant-aware authentication and authorization are handled by the shared middleware (`orch-lib`) in each
116
-
service, not by the gateway.
117
-
- Gradually deprecate legacy gateway features as services transition to direct API exposure.
118
-
- Validate that existing multi-tenant workflows continue to function as expected through integration and regression
119
-
testing.
109
+
- Develop RESTful API endpoints for Tenant Manager (`/v1/orgs`, `/v1/projects`).
110
+
- Configure Traefik IngressRoutes for direct API exposure of Tenant Manager, Infra Manager, App Orchestration, and Cluster Orchestration services.
111
+
- Shift tenant-aware authentication and authorization to the shared middleware (`orch-lib`) within each service.
112
+
- Phase out legacy gateway features as services migrate to direct API access.
113
+
- Perform integration and regression testing to ensure multi-tenant workflows remain functional.
120
114
121
115
##### Step 1: Foundation
122
116
@@ -140,13 +134,20 @@ features:
140
134
- Remove EIM-specific API mapping from the `nexus-api-gateway` configuration.
141
135
- Update CO to use EIM’s external APIs for inventory operations.
142
136
143
-
##### Step 3: CO and AO Modernization
137
+
##### Step 3: Tenant Manager Modernization
138
+
139
+
- Implement a standalone HTTP server/router for the Tenant Manager, exposing RESTful endpoints at `/v1/orgs` and `/v1/projects`.
140
+
- Create Traefik IngressRoute to route “PathRegexp(`/v1/orgs`, `/v1/projects`)” to the new Tenant Manager API.
141
+
- Ensure authentication and authorization.
142
+
- Perform integration testing to validate multi-tenant workflows and backward compatibility.
143
+
144
+
##### Step 4: CO and AO Modernization
144
145
145
146
- Refactor App Orchestration (AO) and Cluster Orchestration (CO) to adopt the modular architecture, following the EIM
146
147
approach.
147
148
- Complete the transition to the target architecture with all services decoupled from the legacy gateway.
148
149
149
-
##### Step 4: Cleanup
150
+
##### Step 5: Cleanup
150
151
151
152
- Remove legacy code paths and deprecated components.
152
153
- Finalize documentation for deployment and migration.
0 commit comments