docs(gateway): rewrite gateway architecture spec#2015
Conversation
Replace the 1-line placeholder with a high-level architecture overview covering top-level layout, components (controller, runtime, builder), xDS streams, request lifecycle, deployment modes, HA, and key architectural decisions. Focuses on shape and rationale rather than implementation paths or generated file names.
Adds a subsection under Platform-API Control Plane Mode describing how the gateway tags policies with managedBy, filters system policies from the manifest push, and how the Console-triggered sync promotes customer-managed entries into the attachment catalogue. Bumps document Last Updated date to 2026-05-20.
📝 WalkthroughSummaryThis pull request rewrites the gateway architecture specification document (Document Version 2.0) to align it with the current Envoy-based implementation and serve as a comprehensive reference for contributors, operators, and Platform-API integrators. Key ChangesArchitecture Clarification:
Components Documentation:
Platform-API Integration:
Document Restructuring:
Metadata:
WalkthroughThis pull request comprehensively rewrites the API Platform Gateway architecture specification to document a policy-centric, xDS-driven control plane model. The document is reorganized to describe the Gateway Controller (control plane) with REST APIs, xDS servers, and persistence; the Gateway Runtime (data plane) as an OCI image with Envoy, a Go Policy Engine, and optional Python executor; and the Gateway Builder's build pipeline. It expands documentation of the xDS communication contract, per-request lifecycle execution, configuration templating with AES-GCM encryption, and deployment modes including mutable/immutable behavior and Platform-API integration. The specification concludes with high-availability patterns, observability mechanisms, key architectural decisions, and versioning/compatibility rules. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
gateway/spec/architecture/architecture.md (1)
460-460: ⚡ Quick winTrack this TODO with a concrete issue reference.
Please replace this inline TODO with a linked issue (or add the issue ID next to it) so the missing
event-gateway/spec/architecture/architecture.mdwork is discoverable and auditable in planning/release flows.Would you like me to draft the issue body and acceptance criteria for this follow-up?
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@gateway/spec/architecture/architecture.md` at line 460, Replace the inline TODO line about the missing architecture doc with a link/reference to a concrete issue (e.g., add the issue number or URL next to the TODO) so the work is tracked; specifically update the TODO text in gateway/spec/architecture/architecture.md to include the created issue ID or URL for "event-gateway/spec/architecture/architecture.md" and, if desired, add a short one-line summary or acceptance criteria in the comment to make the tracking entry discoverable in planning and release flows.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@gateway/spec/architecture/architecture.md`:
- Line 460: Replace the inline TODO line about the missing architecture doc with
a link/reference to a concrete issue (e.g., add the issue number or URL next to
the TODO) so the work is tracked; specifically update the TODO text in
gateway/spec/architecture/architecture.md to include the created issue ID or URL
for "event-gateway/spec/architecture/architecture.md" and, if desired, add a
short one-line summary or acceptance criteria in the comment to make the
tracking entry discoverable in planning and release flows.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 51be8e1d-b37f-4086-8c47-87e89304747b
📒 Files selected for processing (1)
gateway/spec/architecture/architecture.md
Purpose
The previous
gateway/spec/architecture/architecture.mdhad drifted from the current shape of the gateway — it conflated the Gateway Controller with the Platform API as a single "control plane," under-documented the build-time vs deploy-time split, and omitted several flows that are load-bearing in practice (per-chain body mode, multi-gateway DB scoping, custom policy advertisement, deployment acknowledgement). This PR rewrites the spec so a new contributor or operator can read it top-to-bottom and end up with an accurate mental model of the gateway as it actually runs today.Goals
gateway_id-scoped multi-gateway DB sharing, EventHub DB-poll sync, immutable mode semantics).managedBy, how system policies are filtered out, and how the Console-triggered sync promotes entries into the org-scoped attachment catalogue.Approach
gateway/spec/architecture/architecture.mdend-to-end (Document Version bumped to 2.0).#### Custom Policy Syncsubsection under Platform-API Control Plane Mode documentingmanagedBytagging, system-policy filtering at the gateway, manifest persistence on the platform side, and the Console-triggeredPOST /api/v1/gateway-custom-policies/syncpromotion step.User stories
Documentation
N/A — this PR is the documentation. The file updated is the in-repo architecture spec at
gateway/spec/architecture/architecture.md; no external doc site change is required.Automation tests
Security checks
Samples
N/A
Related PRs
N/A
Test environment
N/A — documentation-only change. Mermaid diagrams rendered locally to verify they parse.