Skip to content

feat: implement AppService control plane proxy with TTL cache#7176

Merged
pingsutw merged 17 commits intov2from
adil/apps-app-service
Apr 21, 2026
Merged

feat: implement AppService control plane proxy with TTL cache#7176
pingsutw merged 17 commits intov2from
adil/apps-app-service

Conversation

@AdilFayyaz
Copy link
Copy Markdown

@AdilFayyaz AdilFayyaz commented Apr 9, 2026

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

@AdilFayyaz AdilFayyaz self-assigned this Apr 9, 2026
@AdilFayyaz AdilFayyaz added added Merged changes that add new functionality flyte2 labels Apr 9, 2026
@AdilFayyaz AdilFayyaz changed the title feat: implement AppService control plane proxy with TTL cach feat: implement AppService control plane proxy with TTL cache Apr 9, 2026
Comment thread runs/setup.go Outdated
Comment thread runs/setup.go Outdated
Comment thread app/service/app_service.go Outdated
@AdilFayyaz AdilFayyaz force-pushed the adil/apps-internal-service branch from 80d58ad to bfeafe3 Compare April 17, 2026 20:25
Base automatically changed from adil/apps-internal-service to v2 April 17, 2026 22:54
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
@AdilFayyaz AdilFayyaz force-pushed the adil/apps-app-service branch from 5ab4209 to 6e12f57 Compare April 20, 2026 19:49
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
Signed-off-by: M. Adil Fayyaz <62440954+AdilFayyaz@users.noreply.github.com>
@AdilFayyaz AdilFayyaz requested a review from pingsutw April 20, 2026 20:12
@pingsutw pingsutw merged commit 84c52c5 into v2 Apr 21, 2026
20 checks passed
@pingsutw pingsutw deleted the adil/apps-app-service branch April 21, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

added Merged changes that add new functionality flyte2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants