From 226d2530bc2f902ebdecf7cc0ed3e05b731e2885 Mon Sep 17 00:00:00 2001 From: zirain Date: Sat, 21 Jun 2025 10:13:28 +0800 Subject: [PATCH] bugfix: make EnvoyPatchPolicy able to replace telemetry cluster Signed-off-by: zirain --- internal/xds/translator/translator.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/internal/xds/translator/translator.go b/internal/xds/translator/translator.go index f1f3ce1374..a194144c38 100644 --- a/internal/xds/translator/translator.go +++ b/internal/xds/translator/translator.go @@ -120,10 +120,6 @@ func (t *Translator) Translate(xdsIR *ir.Xds) (*types.ResourceVersionTable, erro errs = errors.Join(errs, err) } - if err := processJSONPatches(tCtx, xdsIR.EnvoyPatchPolicies); err != nil { - errs = errors.Join(errs, err) - } - if err := processClusterForAccessLog(tCtx, xdsIR.AccessLog, xdsIR.Metrics); err != nil { errs = errors.Join(errs, err) } @@ -140,6 +136,11 @@ func (t *Translator) Translate(xdsIR *ir.Xds) (*types.ResourceVersionTable, erro errs = errors.Join(errs, err) } + // All XDS resources is ready, let's do the patch. + if err := processJSONPatches(tCtx, xdsIR.EnvoyPatchPolicies); err != nil { + errs = errors.Join(errs, err) + } + // Check if an extension want to inject any clusters/secrets // If no extension exists (or it doesn't subscribe to this hook) then this is a quick no-op if err := processExtensionPostTranslationHook(tCtx, t.ExtensionManager, xdsIR.ExtensionServerPolicies); err != nil {