diff --git a/pkg/ingress/mcp/generator.go b/pkg/ingress/mcp/generator.go index e5f14f879..37b98dc7b 100644 --- a/pkg/ingress/mcp/generator.go +++ b/pkg/ingress/mcp/generator.go @@ -33,31 +33,7 @@ type ServiceEntryGenerator struct { func (c ServiceEntryGenerator) Generate(proxy *model.Proxy, push *model.PushContext, w *model.WatchedResource, updates *model.PushRequest) ([]*any.Any, model.XdsLogDetails, error) { - resources := make([]*any.Any, 0) - configs := push.AllServiceEntries - for _, config := range configs { - body, err := types.MarshalAny(config.Spec.(*networking.ServiceEntry)) - if err != nil { - return nil, model.DefaultXdsLogDetails, err - } - createTime, err := types.TimestampProto(config.CreationTimestamp) - if err != nil { - return nil, model.DefaultXdsLogDetails, err - } - resource := &mcp.Resource{ - Body: body, - Metadata: &mcp.Metadata{ - Name: path.Join(config.Namespace, config.Name), - CreateTime: createTime, - }, - } - mcpAny, err := ptypes.MarshalAny(resource) - if err != nil { - return nil, model.DefaultXdsLogDetails, err - } - resources = append(resources, mcpAny) - } - return resources, model.DefaultXdsLogDetails, nil + return generate(proxy, push.AllServiceEntries, w, updates) } func (c ServiceEntryGenerator) GenerateDeltas(proxy *model.Proxy, push *model.PushContext, updates *model.PushRequest, diff --git a/pkg/ingress/mcp/generator_test.go b/pkg/ingress/mcp/generator_test.go index 63b86f031..f7d16723b 100644 --- a/pkg/ingress/mcp/generator_test.go +++ b/pkg/ingress/mcp/generator_test.go @@ -101,6 +101,19 @@ func TestGenerate(t *testing.T) { generator: WasmpluginGenerator{}, isErr: false, }, + { + name: "ServiceEntry", + fn: func() *model.PushContext { + ctx := model.NewPushContext() + cfg := config.Config{ + Spec: &networking.ServiceEntry{}, + } + ctx.AllServiceEntries = []config.Config{cfg} + return ctx + }, + generator: ServiceEntryGenerator{}, + isErr: false, + }, { name: "WasmPlugin with wrong config", fn: func() (*model.PushContext, any) {