Commit f2dfe5b2 authored by George Papathanail's avatar George Papathanail
Browse files

fix: update adrs based on latest updates

parent c991b17a
Loading
Loading
Loading
Loading
+1 −1
Changes for decisions/0046-oeg-fronts-federation-lifecycle-ewbi-as-sync-proxy.md: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ status: "accepted"

# ADR-0046: Operator-triggered federation establishment and zone subscription proxy synchronously through OEG to FM; no DataBus, no internal schema

**Status:** accepted — the *transport* (synchronous internal HTTP OEG→FM, no DataBus, no `command.fm.federation.*`, stateless OEG) stands. The *scope* (three operations), *payload* (trimmed operator-facing shape, "not a raw `FederationRequestData`", FM maps it to OPG.04), and *namespace* (`/platform/v1/federation/*`) are superseded by [ADR-0048](/decisions/0048-oeg-fronts-federation-lifecycle-ewbi-byte-for-byte.md): seven canonical OPG.04 operations under `/operatorplatform/federation/v1/*`, raw GSMA payload forwarded byte-for-byte, operator-triggered outbound only, split from inbound EWBI at the ingress.
**Status:** accepted — the *transport* (synchronous internal HTTP OEG→FM, no DataBus, no `command.fm.federation.*`, stateless OEG) and the *namespace* (`/platform/v1/federation/*`) stand. The *scope* (three operations) and *payload* (trimmed operator-facing shape, "not a raw `FederationRequestData`", FM maps it to OPG.04) are superseded by [ADR-0048](/decisions/0048-oeg-fronts-federation-lifecycle-ewbi-byte-for-byte.md): eight operations, raw GSMA payload forwarded byte-for-byte, each scoped by an explicit `partnerOpId` path segment, operator-triggered outbound only, split from inbound EWBI at the ingress. ADR-0048's first version (2026-09-08) had also moved the namespace onto the bare canonical OPG.04 paths; that part was reverted in its 2026-09-15 amendment, which restores this ADR's namespace decision.
**Date:** 2026-09-08
**Affects:** [oeg/architecture.md](/oeg/architecture.md), [oeg/interface-contract.md](/oeg/interface-contract.md), [fm/overview-and-architecture.md](/fm/overview-and-architecture.md), [fm/requirements-and-design.md](/fm/requirements-and-design.md), [platform/architecture.md](/platform/architecture.md)

+1 −1
Changes for decisions/0047-oeg-federation-lifecycle-proxy-errors-are-gsma-problem-json.md: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ status: "accepted"

# ADR-0047: OEG's federation-lifecycle proxy endpoints return the GSMA OPG.04 problem+json error model, not CAMARA ErrorInfo

**Status:** accepted — the error-model decision stands unchanged. The endpoint paths named below were later corrected by [ADR-0048](/decisions/0048-oeg-fronts-federation-lifecycle-ewbi-byte-for-byte.md): the surface is the seven canonical OPG.04 operations under `/operatorplatform/federation/v1/*`, not three under `/platform/v1/federation/*`. Read every `/platform/v1/federation/partners…` path in this ADR as the corresponding canonical OPG.04 path; the `ProblemDetails` rule applies to all seven.
**Status:** accepted — the error-model decision stands unchanged. The endpoint set named below was later extended by [ADR-0048](/decisions/0048-oeg-fronts-federation-lifecycle-ewbi-byte-for-byte.md): the surface is eight operations under `/platform/v1/federation/partners/{partnerOpId}/federations/...` (the namespace and paths below are current, only widened with the `partnerOpId` segment and `GetZoneData`), not three. The `ProblemDetails` rule applies to all eight.
**Date:** 2026-09-08
**Affects:** [oeg/interface-contract.md](/oeg/interface-contract.md), [oeg/architecture.md](/oeg/architecture.md), [fm/requirements-and-design.md](/fm/requirements-and-design.md), [platform/glossary.md](/platform/glossary.md), [platform/architecture.md](/platform/architecture.md)

+149 −123

File changed.

Preview size limit exceeded, changes collapsed.

+13 −3
Changes for oeg/app-deployment-flow.md: 13 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -139,7 +139,6 @@ Subject: `command.srm.service.deploy` · Stream: `OOP_TASKS`
  "correlation_id":           "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "requested_at":             "2026-07-04T10:00:00Z",
  "app_provider_id":          "acme_corp",
  "federation_partner_ref":   null,
  "source":                   "nbi_camara",
  "service_specification_id": "9d2b7e40-0000-4000-8000-00000000000a",
  "targets": [
@@ -156,8 +155,10 @@ Subject: `command.srm.service.deploy` · Stream: `OOP_TASKS`
}
```

> `federation_partner_ref` is reserved for federated deployments — always `null` in local scope
> (see Scope note above). Same command as `/appinstances`, but with **N** `targets[]` entries. SRM creates one
> OEG does not set `federation_partner_ref` on this envelope — federation is decoupled from OEG
> (ADR-0048); OEG proxies the federation-lifecycle surface but never originates a federated deploy.
> FM sets that field on its own `command.srm.*` messages. Same command as `/appinstances`, but with
> **N** `targets[]` entries. SRM creates one
> `service_instance` per target (id = `app_instance_id`); there is no deployment concept inside
> SRM — the `appDeploymentId` grouping lives only in OEG.
>
@@ -296,6 +297,14 @@ above. The completion consumer then updates each affected `app_instances` row AN
`app_deployments` row to `state = 'terminated'` — the rows **persist**, they are not deleted,
consistent with `app_registrations`' `REGISTERED`→`DELETED` soft-delete pattern.

**Nothing to terminate:** if every `app_instances` row is already `terminating`/`terminated` (each
was individually `DELETE`d via `/appinstances`, or a prior deploy failed outright), there is no
command to hand SRM and therefore no completion event to wait on. OEG settles it inline: it writes
the `operations` row with a terminal `status = "completed"` (`completed_at` set), moves
`app_deployments.state = terminated`, and — exactly as the completion consumer would — fires the
`onAppDeploymentStatusChange` callback (array of CloudEvents, one per instance) so subscribers still
observe the deployment reaching its terminal state.

## `PATCH /deployments/{appDeploymentId}` (JSON Merge Patch)

Adds/removes zones by replacing `edgeCloudZones[]` (arrays are replaced, not merged). Each add
@@ -321,3 +330,4 @@ mapping is deferred pending that decision (see ADR-0005 revisit trigger).
| Version | Date | Summary |
|---------|------|---------|
| 2.0 | 2026-07-07 | OOP Release 2.0. |
| 2.0 | 2026-09-10 | Dropped `federation_partner_ref` from the `command.srm.service.deploy` envelope example and note — federation is decoupled from OEG (ADR-0048); OEG never originates a federated deploy, so it never set the field. It remains in SRM's `CommandEnvelopeV1` for FM's use. |
 No newline at end of file
+5 −2
Changes for oeg/app-instance-flow.md: 5 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -238,7 +238,10 @@ DeployAppTranslation
| `source` | `"nbi_camara"` | OEG (fixed for CAMARA EAM path) |
| `requested_at` | ISO-8601 UTC timestamp | OEG at publish time |
| `correlation_id` | from X-Correlator or generated | OEG |
| `federation_partner_ref` | `null` | OEG (local deploy only) |

> OEG does not emit `federation_partner_ref` on this envelope. Federation is decoupled from OEG
> (ADR-0048) — OEG proxies the federation-lifecycle surface but never originates a federated deploy.
> The field stays in SRM's `CommandEnvelopeV1`, set by FM on its own `command.srm.*` messages.

---

@@ -323,7 +326,6 @@ Stream: `OOP_TASKS`
  "correlation_id":           "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "requested_at":             "2026-07-04T10:00:00Z",
  "app_provider_id":          "acme_corp",
  "federation_partner_ref":   null,
  "source":                   "nbi_camara",
  "service_specification_id": "9d2b7e40-0000-4000-8000-00000000000a",
  "targets": [
@@ -719,3 +721,4 @@ CloudEvent if a callback is registered.
| Version | Date | Summary |
|---------|------|---------|
| 2.0 | 2026-07-07 | OOP Release 2.0. |
| 2.0 | 2026-09-10 | Removed `federation_partner_ref` from the `command.srm.service.deploy` envelope example and the internally-set fields table — federation is decoupled from OEG (ADR-0048); OEG never originates a federated deploy. Field remains in SRM's `CommandEnvelopeV1` for FM. |
 No newline at end of file
Loading