Commit 52137f84 authored by Dimitrios Gogos's avatar Dimitrios Gogos
Browse files

docs(platform): describe the Portal and OEG checks as they are today

The Portal has no admin console, analytics or product publishing; it
serves API discovery, applications, API clients, operator federation
pages and the AI² chat (portal A.1, A.2). OEG enforces no rate limits
in Release 2 (REQ-OEG-09), so UC-OOP-01 and UC-OOP-03 no longer list a
rate-limit check. Ownership rows and the phase plan stay.

Co-Authored-By: default avatarClaude Opus 5.5 <noreply@anthropic.com>
parent 71613323
Loading
Loading
Loading
Loading
+7 −7
Changes for platform/architecture.md: 7 added lines, 7 removed lines.
Original line number Diff line number Diff line
@@ -107,11 +107,11 @@ Without a platform like OOP, an operator faces a stark choice: either manually i
| Stakeholder | What they do | How they interact with OOP |
|-------------|-------------|---------------------------|
| **App Provider (Developer)** | Builds applications that use network and edge capabilities | Calls CAMARA/TMF APIs through OEG, registers apps through Portal |
| **Operator** | Owns and operates telecom and edge infrastructure | Configures catalog, zones, domains, and policies through internal APIs and Portal admin console |
| **Operator** | Owns and operates telecom and edge infrastructure | Configures catalog, zones, domains, and policies through internal APIs; manages federation through the Portal's operator pages |
| **Aggregator** | Bundles multiple operators' capabilities into a single offering | Consumes OEG APIs on behalf of multiple developers |
| **Federation Partner** | Another operator sharing resources via EWBI | Connects through FM for cross-operator service delivery |
| **Network/Cloud Engineer** | Maintains infrastructure adapters and platform components | Writes TF-SDK adapters, manages zone and domain configuration |
| **Portal User** | Discovers APIs, manages applications, views analytics | Uses the self-service web Portal |
| **Portal User** | Discovers APIs, manages applications and API clients | Uses the self-service web Portal |

AI² already serves signed-in users: it calls OEG with the user's own token. BSS/OSS, channel partners and external enterprise agents are future consumers; see [platform/future-architecture.md](/platform/future-architecture.md).

@@ -179,7 +179,7 @@ OOP's product parts are OEG, SRM, FM, Portal and AI², with TF-SDK as a library
| **SRM** (Service Resource Manager) | Internal fulfillment, placement, best-effort capacity queries, inventory tracking | The brain — decides where to run things and tracks what exists |
| **TF-SDK** (Transformation Function SDK) | Protocol translation between SRM's normalized commands and vendor-specific infrastructure APIs | The multilingual interpreter — speaks every vendor's language |
| **FM** (Federation Manager) | Cross-operator routing, EWBI termination, topology hiding, federation usage-record generation | The diplomatic corps — handles relationships with partner operators |
| **Portal** | Developer self-service web UI, admin console, API discovery, analytics dashboards | The storefront — where humans interact with the platform |
| **Portal** | Developer self-service web UI: API discovery, application management, API clients, operator federation pages and the AI² chat | The storefront — where humans interact with the platform |
| **AI²** (AI squared) | Natural-language access to the platform: an agent and an MCP server whose tools call OEG's CAMARA APIs with the caller's own token | The concierge — takes a request in plain words and makes the calls for you |
| **oop-commons** | Shared library for authentication, logging, database utilities, event schemas, health checks; use differs per component | The shared toolbox |
| **Data Lab** *(catalogue release 0.1.0)* | Dataspace metadata catalogue: DCAT-AP 3.0 descriptions of datasets, distributions and data quality (piveau-hub with the Data Lab UI and API, 6G-DALI MAP); future connector, storage and DataOps | The library card catalogue — tells you what data exists, where, and how good it is |
@@ -238,7 +238,7 @@ An app developer wants to deploy a containerized application (e.g., a video anal

1. **App Provider → OEG:** Request with JWT bearer token, on the OEG mount path.
2. **Ingress (target):** Once a real Nginx config exists, Nginx terminates TLS in front of OEG. Today there is no Nginx hop (ADR-0020).
3. **OEG:** Validates JWT (Keycloak), checks role (`app-provider`), validates request body schema, checks rate limits.
3. **OEG:** Validates JWT (Keycloak), checks role (`app-provider`), validates request body schema.
4. **OEG:** Resolves `appId` to SRM's `service_specification_id`. Mints the `appInstanceId` and normalizes `edgeCloudZoneId` into a one-entry `targets[]` (ADR-0005).
5. **OEG:** Writes `operations` row (status=PENDING) and one `app_instances` row (state=instantiating) in `oeg_db`.
6. **OEG → DataBus:** Publishes `command.srm.service.deploy` with `CommandEnvelopeV1` + `SrmServiceDeployV1` (one `targets[]` entry).
@@ -293,7 +293,7 @@ An app developer wants to retrieve a device's current location. This is a real-t

**End-to-end flow:**

1. **OEG:** Validates JWT, checks rate limits.
1. **OEG:** Validates JWT.
2. **OEG → SRM:** Calls `POST /internal/network-queries/location` with normalized body (device identity, max_age, max_surface).
3. **SRM:** Validates request. Resolves network domain and adapter.
4. **SRM → TF-SDK:** Calls `query(request)` with `capability_kind="location_context"`.
@@ -746,9 +746,9 @@ which amends ADR-0001's "SRM sole consumer".

**Reference:** [fm/overview-and-architecture.md](/fm/overview-and-architecture.md), [fm/requirements-and-design.md](/fm/requirements-and-design.md), [fm/implementation-and-delivery.md](/fm/implementation-and-delivery.md), OPG.04 v6.0

### Portal — Developer Portal & Admin Console
### Portal — Developer Portal

**What it is:** The self-service web interface for developers and operators. Developers discover APIs, register applications, manage credentials, and view analytics. Operators publish API products, manage federation, and monitor platform health.
**What it is:** The self-service web interface for developers and operators. Developers discover APIs, register and deploy applications, manage API clients, and ask AI² in a chat. Operators manage federation partners and agreements.

**What it is not:** The Portal does not route API traffic — OEG does. It does not store master catalog or inventory data — it reads from OEG. It does not manage user identities — Keycloak does.