|
| 1 | +# Roadmap |
| 2 | + |
| 3 | +--- |
| 4 | + |
| 5 | +## 🔐 Authentication & Identity |
| 6 | + |
| 7 | +### 🧭 [#87 Epic: JWT Token Catalog with Per-User Expiry and Revocation](https://github.com/IBM/mcp-context-forge/issues/87) |
| 8 | + |
| 9 | +???+ "Token Lifecycle Management" |
| 10 | + **Generate Tokens:** As a platform admin, I want to generate one-time API tokens so I can issue short-lived credentials. |
| 11 | + |
| 12 | + **Revoke Tokens:** As a platform admin, I want to revoke tokens so I can disable exposed or obsolete tokens. |
| 13 | + |
| 14 | + **API Token Management:** As a user or automation client, I want to list, create, and revoke tokens via API so I can automate credential workflows. |
| 15 | + |
| 16 | +🧭 Epic: Per-Virtual-Server API Keys |
| 17 | + |
| 18 | +???+ "Scoped Server Access" |
| 19 | + **Server-Scoped Keys:** As a platform admin, I want to create API keys tied to a specific virtual server so that credentials are limited in scope. |
| 20 | + |
| 21 | + **Key Rotation & Revocation:** As a platform admin, I want to rotate or revoke a virtual server's API keys so I can maintain security without affecting other servers. |
| 22 | + |
| 23 | + **API Management UI & API:** As a developer, I want to list, create, rotate, and revoke server API keys via the Admin UI and REST API so I can automate credential lifecycle for each virtual server. |
| 24 | + |
| 25 | +--- |
| 26 | + |
| 27 | +## 📈 Observability & Telemetry |
| 28 | + |
| 29 | +### 🧭 Epic: OpenTelemetry Tracing & Metrics Export |
| 30 | + |
| 31 | +???+ "Trace & Metric Visibility" |
| 32 | + **Distributed Tracing:** As a developer, I want traces spanning tools, prompts, and gateways so I can understand multi-step flows. |
| 33 | + |
| 34 | + **Metrics Scraping:** As an SRE, I want a Prometheus-compatible `/metrics` endpoint so I can alert on latency and error rate. |
| 35 | + |
| 36 | +### 🧭 Epic: Structured JSON Logging with Correlation IDs |
| 37 | + |
| 38 | +???+ "Context-Rich Logging" |
| 39 | + **Correlation IDs:** As a DevOps user, I want logs with correlation and trace IDs so I can trace a request across services. |
| 40 | + |
| 41 | +--- |
| 42 | + |
| 43 | +## ⚙️ Lifecycle & Management |
| 44 | + |
| 45 | +### 🧭 Epic: Hot Configuration Reload |
| 46 | + |
| 47 | +???+ "Dynamic Config Updates" |
| 48 | + **In-Place Reload:** As a system admin, I want to apply config changes (tools, servers, resources) without restarts so I maintain zero-downtime. |
| 49 | + |
| 50 | +### 🧭 Epic: CLI Enhancements for Admin Operations |
| 51 | + |
| 52 | +???+ "Automated Admin Commands" |
| 53 | + **Admin CLI:** As a DevOps engineer, I want CLI subcommands to register tools, flush caches, and export configs so I can integrate with CI/CD. |
| 54 | + |
| 55 | +### 🧭 Epic: Config Import/Export (JSON Gateways & Virtual Servers) |
| 56 | + |
| 57 | +???+ "JSON Config Portability" |
| 58 | + **Individual Entity Export/Import:** As a platform admin, I want to export or import a single gateway or virtual server's config in JSON so I can backup or migrate that one entity. |
| 59 | + |
| 60 | + **Bulk Export/Import:** As a platform admin, I want to export or import the full configuration (all gateways, virtual servers, prompts, resources) at once so I can replicate environments or perform large-scale updates. |
| 61 | + |
| 62 | + **Encrypted Credentials:** As a security-conscious operator, I want passwords and sensitive fields in exported JSON to be encrypted so my backups remain secure. |
| 63 | + |
| 64 | +???+ "Automated Admin Commands" |
| 65 | + **Admin CLI:** As a DevOps engineer, I want CLI subcommands to register tools, flush caches, and export configs so I can integrate with CI/CD. |
| 66 | + |
| 67 | +### 🧭 Epic: Cache Management API |
| 68 | + |
| 69 | +???+ "Cache Control" |
| 70 | + **Cache Inspection & Flush:** As a site admin, I want endpoints to view cache stats and clear entries so I can manage data freshness. |
| 71 | + |
| 72 | +--- |
| 73 | + |
| 74 | +## 🌐 Federation & Routing |
| 75 | + |
| 76 | +### 🧭 Epic: Dynamic Federation Management |
| 77 | + |
| 78 | +???+ "Peer Gateway Management" |
| 79 | + **Register/Remove Peers:** As a platform admin, I want to add or remove federated gateways at runtime so I can scale and maintain federation. |
| 80 | + |
| 81 | +### 🧭 Epic: Circuit Breakers for Unstable Backends |
| 82 | + |
| 83 | +???+ "Backend Isolation" |
| 84 | + **Circuit Breaker:** As the gateway, I want to trip circuits for backends after repeated failures so I prevent cascading retries. |
| 85 | + |
| 86 | +### 🧭 Epic: Intelligent Load Balancing for Redundant Servers |
| 87 | + |
| 88 | +???+ "Smart Request Routing" |
| 89 | + **Adaptive Balancing:** As an orchestrator, I want to route to the fastest healthy backend instance so I optimize response times. |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## 🛠️ Developer Experience |
| 94 | + |
| 95 | +### 🧭 Epic: Prompt Template Tester & Validator |
| 96 | + |
| 97 | +???+ "Prompt Validation" |
| 98 | + **Template Linting:** As a prompt engineer, I want to preview and validate Jinja2 templates with sample data so I avoid runtime errors. |
| 99 | + |
| 100 | +### 🧭 Epic: System Diagnostics & Self-Check Report |
| 101 | + |
| 102 | +???+ "Diagnostics Bundle" |
| 103 | + **Diagnostic Export:** As an operator, I want a self-contained system report (config, health, metrics) so I can troubleshoot effectively. |
| 104 | + |
| 105 | +### 🧭 Epic: Auto-Tuning of Timeout & Retry Policies |
| 106 | + |
| 107 | +???+ "Adaptive Policy Tuning" |
| 108 | + **Auto-Tuning:** As the gateway, I want to adjust timeouts and retry intervals based on observed latencies so I balance reliability and speed. |
| 109 | + |
| 110 | +--- |
| 111 | + |
| 112 | +## 📦 Resilience & Runtime |
| 113 | + |
| 114 | +### 🧭 Epic: Graceful Startup and Shutdown |
| 115 | + |
| 116 | +???+ "Graceful Lifecycle" |
| 117 | + **In-Flight Draining:** As the gateway, I want to complete active requests before shutdown so I prevent dropped connections. |
| 118 | + |
| 119 | +### 🧭 Epic: High Availability via Stateless Clustering |
| 120 | + |
| 121 | +???+ "Clustered Scaling" |
| 122 | + **Stateless Instances:** As an architect, I want multiple interchangeable gateway nodes so I can load-balance and ensure failover. |
| 123 | + |
| 124 | +--- |
| 125 | + |
| 126 | +## 🧭 Namespaces & Catalog Integrity |
| 127 | + |
| 128 | +### 🧭 Epic: Name Collision Handling in Federated Catalogs |
| 129 | + |
| 130 | +???+ "Unified Naming" |
| 131 | + **Namespaced Tools:** As an operator, I want to distinguish identical tool names from different servers (e.g. `ServerA/toolX` vs `ServerB/toolX`) so I avoid conflicts. |
| 132 | + |
| 133 | +--- |
| 134 | + |
| 135 | +## 🔐 Secrets & Sensitive Data |
| 136 | + |
| 137 | +### 🧭 Epic: Secure Secrets Management & Masking |
| 138 | + |
| 139 | +???+ "Externalized Secrets" |
| 140 | + **Secret Store Integration:** As an operator, I want to fetch credentials from a secrets manager so I avoid storing secrets in static configs. |
| 141 | + |
| 142 | + **Log Scrubbing:** As a compliance officer, I want sensitive data masked in logs and metrics so I maintain data security. |
| 143 | + |
| 144 | +--- |
| 145 | + |
| 146 | +### 🧭 Epic: LDAP & External Identity Integration |
| 147 | + |
| 148 | +???+ "Corporate Directory Auth" |
| 149 | + **LDAP Authentication:** As a platform admin, I want to configure LDAP/Active Directory so that users authenticate with corporate credentials. |
| 150 | + |
| 151 | + **Group Sync:** As a platform admin, I want to sync LDAP/AD groups into gateway roles so I can manage permissions via directory groups. |
| 152 | + |
| 153 | + **SSO Integration:** As a platform admin, I want to support SAML/OIDC so that teams can use existing single sign-on. |
| 154 | + |
| 155 | +--- |
| 156 | + |
| 157 | +### 🧭 Epic: Role-Based Access Control (User/Team/Global Scopes) |
| 158 | + |
| 159 | +???+ "RBAC & Scoping" |
| 160 | + **User-Level Scopes:** As a platform admin, I want to assign permissions at the individual user level so that I can grant fine-grained access. |
| 161 | + |
| 162 | + **Team-Level Scopes:** As a platform admin, I want to define teams and grant scopes to teams so that I can manage permissions for groups of users. |
| 163 | + |
| 164 | + **Global Scopes:** As a platform admin, I want to set global default scopes so that baseline permissions apply to all users. |
0 commit comments