1.9 KiB
1.9 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level | |
|---|---|---|---|---|---|---|---|---|
| core/config-service-irpc | Implement ConfigProtocol irpc service and ConfigServiceImpl | completed |
|
narrow | low | component | implementation |
Description
Define ConfigProtocol irpc service enum and ConfigServiceImpl behind the irpc feature flag, per ADR-030 and configuration.md.
ConfigServiceImpl wraps ArcSwap<DynamicConfig> and provides access to forwarding policy, rate limits, and reload capability. In Phase 1, direct ConfigReloadHandle::reload() is sufficient for minimal deployments. The irpc service provides the same functionality for production deployments.
Key additions:
ConfigServiceImplstruct withforwarding_policy(),rate_limits(),reload()methods (always available, not feature-gated)ConfigProtocolirpc enum behindirpcfeature:GetForwardingPolicy,GetRateLimits,ReloadForwarding,ReloadRateLimits
What stays the same: Direct ConfigReloadHandle::reload() is the primary API. ConfigServiceImpl is a thin wrapper over ArcSwap, also always available. The irpc service is additive.
Acceptance Criteria
ConfigServiceImplstruct defined incrates/alknet-core/src/config/config_service.rswith methods per configuration.mdConfigServiceImplreads fromArcSwap<DynamicConfig>and returnsArc<ForwardingPolicy>,Arc<RateLimitConfig>ConfigProtocolenum defined behindirpcfeature flag- Without
irpcfeature,ConfigServiceImplis available for direct use - With
irpcfeature,ConfigProtocolwrapsConfigServiceImpl
References
- docs/architecture/configuration.md — ConfigServiceImpl, ConfigProtocol
- docs/architecture/decisions/030-static-dynamic-config-split.md — ADR-030
Notes
To be filled by implementation agent
Summary
To be filled on completion