diff --git a/pkg/flow/flow_services.go b/pkg/flow/flow_services.go index 24a80160f3ad..f4ff5b933a7b 100644 --- a/pkg/flow/flow_services.go +++ b/pkg/flow/flow_services.go @@ -26,6 +26,8 @@ func (f *Flow) GetServiceConsumers(serviceName string) []service.Consumer { return consumers } +// GetService implements [service.Host]. It looks up a [service.Service] by +// name. func (f *Flow) GetService(name string) (service.Service, bool) { for _, svc := range f.opts.Services { if svc.Definition().Name == name { diff --git a/service/service.go b/service/service.go index 6631011e72c5..a6e73cdee929 100644 --- a/service/service.go +++ b/service/service.go @@ -37,12 +37,6 @@ type Definition struct { DependsOn []string } -// A Provider exposes information around services. -type Provider interface { - // GetService looks up a running service using its name. - GetService(name string) (Service, bool) -} - // Host is a controller for services and Flow components. type Host interface { // GetComponent gets a running component by ID. diff --git a/web/api/api.go b/web/api/api.go index 0a853fee24e7..f382897f8bcc 100644 --- a/web/api/api.go +++ b/web/api/api.go @@ -18,16 +18,11 @@ import ( // FlowAPI is a wrapper around the component API. type FlowAPI struct { - flow Provider -} - -type Provider interface { - component.Provider - service.Provider + flow service.Host } // NewFlowAPI instantiates a new Flow API. -func NewFlowAPI(flow Provider) *FlowAPI { +func NewFlowAPI(flow service.Host) *FlowAPI { return &FlowAPI{flow: flow} }