Skip to content

docs(extension-server): document edge re-translation for connector liveness#213

Merged
scotwells merged 2 commits into
mainfrom
docs/extension-server-edge-retranslation
Jun 23, 2026
Merged

docs(extension-server): document edge re-translation for connector liveness#213
scotwells merged 2 commits into
mainfrom
docs/extension-server-edge-retranslation

Conversation

@scotwells

@scotwells scotwells commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

What

Updates the Envoy Gateway extension server enhancement doc to match how Connector online/offline transitions actually trigger re-translation today.

The doc described a project-side Connector controller that touched the downstream Gateway annotation when Ready flipped. That mechanism has a cross-cluster ordering race — the Gateway touch and the Connector's status annotation propagate to the edge independently through Karmada, so the touch can arrive first and drive a re-translation that reads stale liveness from the edge cache, leaving the data plane wedged on the old program.

The implementation (#211) moves the trigger to an edge-local re-translation controller co-located with the extension server and sharing its informer cache. This doc brings the design write-up in line with that.

Changes

  • Rewrite "Connector online/offline transitions" to describe the cache-sharing edge controller: predicate-gated on (online, nodeID) changes, idempotent merge-patch of a trigger annotation on Gateways backed by a referencing HTTPProxy, and why running it at the edge (same cache EG translates against) removes the ordering race.
  • Record the project-side trigger as a rejected alternative, alongside the existing rejected spec-nonce option.
  • Correct the security & topology sections: the workload is no longer strictly read-only — it holds one narrow patch on Gateway for the trigger annotation, and the embedded controller runs on every replica safely via the idempotent merge patch (no leader election needed).

Notes

Related

🤖 Generated with Claude Code

…veness

Update the Envoy Gateway extension server enhancement to reflect that
Connector online/offline transitions are now driven by an edge-local
re-translation controller co-located with the extension server, rather
than a project-side Connector controller touching the downstream Gateway.

- Rewrite "Connector online/offline transitions" to describe the
  cache-sharing edge controller and why running it at the edge removes
  the cross-cluster ordering race the project-side trigger had.
- Record the rejected project-side trigger alongside the existing
  rejected spec-nonce alternative.
- Correct the security/topology sections: the workload is no longer
  strictly read-only — it holds a single narrow `patch` on Gateway for
  the trigger annotation, and the embedded controller runs on every
  replica safely via an idempotent merge patch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@scotwells scotwells force-pushed the docs/extension-server-edge-retranslation branch from 7caeee7 to de0dc70 Compare June 23, 2026 18:16
@scotwells scotwells marked this pull request as ready for review June 23, 2026 18:21
@scotwells scotwells requested review from a team and savme June 23, 2026 18:34
…CK-freeze observability, and known gaps

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@scotwells scotwells merged commit 22275a0 into main Jun 23, 2026
11 of 12 checks passed
@scotwells scotwells deleted the docs/extension-server-edge-retranslation branch June 23, 2026 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants