<#7176 feat: implement AppService control plane pr...
# flyte-github
a
#7176 feat: implement AppService control plane proxy with TTL cache Pull request opened by AdilFayyaz Depends on: #7175 Why are the changes needed? The control plane needs a stable API surface for app management without making direct K8s calls. AppService proxies to InternalAppService (data plane) and adds a TTL cache to reduce cross-plane RPC calls on hot Get paths. What changes were proposed in this pull request? • Added app/service/AppService — cache-aside proxy over InternalAppService; Get reads from cache, mutations invalidate, Watch is a streaming passthrough • Added app/setup.go — mounts AppService on the control plane mux; in unified mode routes to /internal on the same mux with no network hop • Restructured config: app/internal/config/InternalAppConfig (data plane) and app/config/AppConfig (control plane, holds CacheTTL + InternalAppServiceURL) • Removed AppService stub and wiring from runs/ — no longer needed there How was this patch tested? • go test ./app/service/... — 8 unit tests covering cache hit, miss, TTL expiry, invalidation on Create/Update/Delete, List always forwarding, and Watch stream proxying • go test ./app/internal/service/... — covers InternalAppService RPCs including DesiredState branching, pagination, and Watch initial snapshot • go test ./app/... — all packages pass Setup process Screenshots Check all the applicable boxes • I updated the documentation accordingly. • All new and existing tests passed. • All commits are signed-off. Related PRs Docs link •
main
• #6583 • feat: implement AppService control plane proxy with TTL cache 👈 • #7188 • #7197 flyteorg/flyte