Labels: ready-to-code
Dependencies: None
RHIDP Stories: RHIDP-15317, RHIDP-15321
Feature: RHDHPLAN-1510 — Epics RHIDP-15313, RHIDP-15314
Cross-feature dependency: RHIDP-15317 depends on RHIDP-15655 (Implement MCP Registry entity provider, RHDHPLAN-393). The upstream community provider must exist before the productization layer can override its endpoint configuration. RHIDP-15321 (RHOAI version normalization) has no RHDHPLAN-393 dependency and can start immediately.
Implement the MCP Registry mirror endpoint configuration with zero-internet validation (no outbound traffic to public endpoint when mirror is configured), startup health check, and non-HTTPS security warnings. Also implement RHOAI version normalization utility for MCP server entity rhdh.io/ai-asset-version annotation population. RHIDP-15321 has no cross-connector dependencies and can start immediately; RHIDP-15317 is blocked on the upstream MCP Registry entity provider (RHDHPLAN-393 RHIDP-15655).
Tasks
From openspec/changes/mcp-registry-connector/tasks.md group 1 (RHIDP-15317):
- 1.1 Add
ai-catalog.providers.mcpRegistry.endpoint config schema in config.d.ts
- 1.2 Implement endpoint configuration loading from app-config
- 1.3 Add environment variable override support (
MCP_REGISTRY_ENDPOINT)
- 1.4 Implement endpoint URL validation
- 1.5 Add endpoint fallback logic (app-config > env var > default public endpoint)
- 1.6 Implement startup endpoint validation health check
- 1.7 Add endpoint configuration logging at connector startup
- 1.8 Add security warning for non-HTTPS endpoints
- 1.9 Implement HTTP client configuration with mirror endpoint URL
- 1.10 Add Prometheus metrics for endpoint request count, latency, error rate
- 1.11 Add Prometheus metric for public endpoint violation detection
- 1.12–1.18 Integration tests: zero outbound traffic, mirror targeting, DNS resolution, retry backoff, invalid URL, non-HTTPS warning, override precedence
- 1.19–1.20 Documentation: mirror endpoint examples, zero-internet validation
From openspec/changes/rhoai-connector/tasks.md group 7 (RHIDP-15321):
- 7.1 Define version normalization rules
- 7.2 Implement
normalizeVersion(rawVersion) utility — semver normalization, strip v prefix, handle latest/nightly
- 7.3 Populate
rhdh.io/ai-asset-version annotation with normalized version
- 7.4 Handle missing version metadata: set
"unknown" with DEBUG log
- 7.5 Handle invalid version strings: set
"unknown" with WARNING log
- 7.6 Unit tests for version normalization
- 7.7 Integration test: emitted entities carry correct annotation
Specifications
openspec/changes/mcp-registry-connector/specs/mirror-endpoint/spec.md
openspec/changes/rhoai-connector/specs/mcp-catalog-source/spec.md
Labels:
ready-to-codeDependencies: None
RHIDP Stories: RHIDP-15317, RHIDP-15321
Feature: RHDHPLAN-1510 — Epics RHIDP-15313, RHIDP-15314
Cross-feature dependency: RHIDP-15317 depends on RHIDP-15655 (Implement MCP Registry entity provider, RHDHPLAN-393). The upstream community provider must exist before the productization layer can override its endpoint configuration. RHIDP-15321 (RHOAI version normalization) has no RHDHPLAN-393 dependency and can start immediately.
Implement the MCP Registry mirror endpoint configuration with zero-internet validation (no outbound traffic to public endpoint when mirror is configured), startup health check, and non-HTTPS security warnings. Also implement RHOAI version normalization utility for MCP server entity
rhdh.io/ai-asset-versionannotation population. RHIDP-15321 has no cross-connector dependencies and can start immediately; RHIDP-15317 is blocked on the upstream MCP Registry entity provider (RHDHPLAN-393 RHIDP-15655).Tasks
From
openspec/changes/mcp-registry-connector/tasks.mdgroup 1 (RHIDP-15317):ai-catalog.providers.mcpRegistry.endpointconfig schema inconfig.d.tsMCP_REGISTRY_ENDPOINT)From
openspec/changes/rhoai-connector/tasks.mdgroup 7 (RHIDP-15321):normalizeVersion(rawVersion)utility — semver normalization, stripvprefix, handlelatest/nightlyrhdh.io/ai-asset-versionannotation with normalized version"unknown"with DEBUG log"unknown"with WARNING logSpecifications
openspec/changes/mcp-registry-connector/specs/mirror-endpoint/spec.mdopenspec/changes/rhoai-connector/specs/mcp-catalog-source/spec.md