Deployment ¶
EAP separates user entry, runtime execution, MCP and model proxying, and persistence so each layer can scale and evolve independently.
Deployment Layers ¶
| Layer | Purpose |
|---|---|
| client-facing layer | browser UI, Simple Agent API, AG-UI (deprecated), ACP, and M2M entry points |
| gateway layer | MyID / CI OAuth authn/authz, project routing, conversations, protocol translation |
| project runtime layer | project-scoped Codex app-server execution of approved agent content |
| proxy and MCP layer | project-scoped LLM/MCP proxy plus approved MCP servers |
| secrets and identity | Keeper Vault + Kubed for credential injection; Cisco LLM Proxy for model access |
| data and audit layer | EAP conversation state, traces, audit, and evidence |
Component Alignment ¶
| Component | Role | Where it lives |
|---|---|---|
enterprise-agent-platform/eap_gateway | gateway, protocol adapters, project managers, model/MCP proxy | enterprise-agent-platform |
enterprise-agent-platform/eap_ui | browser UI | enterprise-agent-platform |
enterprise-agent-platform/stacks/eap/Dockerfile | shared gateway/runtime image with Codex CLI and app-server | enterprise-agent-platform |
eap-project-runtime deployment | starts the selected project runtime; Codex projects run one codex app-server process | platform deployment |
enterprise-agent-platform/patches/opensandbox | optional sandbox-backed execution services | enterprise-agent-platform |
| Approved MCP catalog | governed external connectors | various (aiops-mcp.webex.com/*) |
| PostgreSQL | gateway-owned conversation and task state | platform infra |
| Audit store | searchable execution history | platform infra |
| Keeper Vault + Kubed | secrets storage + runtime injection | enterprise services |
| Cisco LLM Proxy | production model provider | enterprise services |
Runtime Placement ¶
For a Codex project, the project runtime container:
- loads one filtered Registry project
- writes a project-scoped
$CODEX_HOME/config.toml - starts
codex app-serverfrom the registered project repository - exposes the Codex WebSocket endpoint to the EAP gateway
- runs a project-scoped LLM/MCP proxy and watches the Codex process for restart
The gateway and project runtime share the conversation workspace volume so both resolve the same per-conversation paths. Codex's runtime home is mounted separately from the gateway's PostgreSQL-backed state.
Base Image, CI, CD ¶
| Concern | Choice |
|---|---|
| container base image | containers.cisco.com/sto-ccc-cloud9/hardened_ubuntu:24.04 |
| runtime binary | OpenAI Codex CLI / app-server bundled into the EAP image |
| CI | Jenkins CI |
| CD pipeline | Harness |
Network Principles ¶
- one central authenticated entry point for human and M2M callers
- project runtime endpoints are internal; callers do not connect directly to Codex app-server
- model and MCP traffic flows through project-scoped proxy configuration
- MCP servers sit close to the systems they integrate with when network boundaries require it
- audit visibility spans every layer of the execution path
Operations And Resilience ¶
- datacenter-level HA and disaster recovery for gateway, runtime, and persistence layers
- token tracking per project / conversation / thread / model
- observability and alerting for runtime health and policy violations
- Codex process supervision with health checks and restart after unexpected exit
- emergency kill switch to stop unsafe or unstable runs without changing project content
Responsibility Model ¶
| Team | Main deployment concern |
|---|---|
| EAP platform team | gateway, Codex runtime image, project runtime, registry sync, proxy governance, HA/DR |
| Project owner team | project repo content, declared MCP set, validation evidence |
| MCP owner team | the specific MCP server's availability, RBAC, and runtime behavior |
Design Goal ¶
One governed platform, many projects, consistent execution controls.
Related ¶
- Deployment Env — The deployment env detail.