Plugins: Add support for ResourceConversion (#91977)

This commit is contained in:
Todd Treece
2024-08-15 16:02:21 -04:00
committed by GitHub
parent 28f2a4078d
commit e60b0aef83
40 changed files with 156 additions and 110 deletions
@@ -130,9 +130,6 @@ func TestService_AddDataSource(t *testing.T) {
ObjectBytes: req.ObjectBytes,
}, nil
},
ConvertObjectFunc: func(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
return nil, fmt.Errorf("not implemented")
},
}
cmd := &datasources.AddDataSourceCommand{
OrgID: 1,
@@ -180,9 +177,6 @@ func TestService_AddDataSource(t *testing.T) {
MutateAdmissionFunc: func(ctx context.Context, req *backend.AdmissionRequest) (*backend.MutationResponse, error) {
return nil, fmt.Errorf("not implemented")
},
ConvertObjectFunc: func(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
return nil, fmt.Errorf("not implemented")
},
}
cmd := &datasources.AddDataSourceCommand{
OrgID: 1,
@@ -223,9 +217,6 @@ func TestService_AddDataSource(t *testing.T) {
ObjectBytes: pb,
}, err
},
ConvertObjectFunc: func(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
return nil, fmt.Errorf("not implemented")
},
}
cmd := &datasources.AddDataSourceCommand{
OrgID: 1,
@@ -511,9 +502,6 @@ func TestService_UpdateDataSource(t *testing.T) {
ObjectBytes: req.ObjectBytes,
}, nil
},
ConvertObjectFunc: func(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
return nil, fmt.Errorf("not implemented")
},
}
ds, err := dsService.AddDataSource(context.Background(), &datasources.AddDataSourceCommand{
OrgID: 1,
@@ -1505,9 +1493,6 @@ func initDSService(t *testing.T) *Service {
ObjectBytes: req.ObjectBytes,
}, nil
},
ConvertObjectFunc: func(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
return nil, fmt.Errorf("not implemented")
},
}, plugincontext.ProvideBaseService(cfg, pluginconfig.NewFakePluginRequestConfigProvider()))
require.NoError(t, err)
@@ -55,6 +55,6 @@ func (m *baseMiddleware) MutateAdmission(ctx context.Context, req *backend.Admis
}
// ConvertObject implements backend.AdmissionHandler.
func (m *baseMiddleware) ConvertObject(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
return m.next.ConvertObject(ctx, req)
func (m *baseMiddleware) ConvertObjects(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
return m.next.ConvertObjects(ctx, req)
}
@@ -91,7 +91,7 @@ func (m *ContextualLoggerMiddleware) MutateAdmission(ctx context.Context, req *b
}
// ConvertObject implements backend.AdmissionHandler.
func (m *ContextualLoggerMiddleware) ConvertObject(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
func (m *ContextualLoggerMiddleware) ConvertObjects(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
ctx = instrumentContext(ctx, req.PluginContext)
return m.next.ConvertObject(ctx, req)
return m.next.ConvertObjects(ctx, req)
}
@@ -207,15 +207,15 @@ func (m *LoggerMiddleware) MutateAdmission(ctx context.Context, req *backend.Adm
return resp, err
}
func (m *LoggerMiddleware) ConvertObject(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
func (m *LoggerMiddleware) ConvertObjects(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
if req == nil {
return m.next.ConvertObject(ctx, req)
return m.next.ConvertObjects(ctx, req)
}
var resp *backend.ConversionResponse
err := m.logRequest(ctx, func(ctx context.Context) (instrumentationutils.RequestStatus, error) {
var innerErr error
resp, innerErr = m.next.ConvertObject(ctx, req)
resp, innerErr = m.next.ConvertObjects(ctx, req)
return instrumentationutils.RequestStatusFromError(innerErr), innerErr
})
@@ -242,11 +242,11 @@ func (m *MetricsMiddleware) MutateAdmission(ctx context.Context, req *backend.Ad
return resp, err
}
func (m *MetricsMiddleware) ConvertObject(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
func (m *MetricsMiddleware) ConvertObjects(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
var resp *backend.ConversionResponse
err := m.instrumentPluginRequest(ctx, req.PluginContext, func(ctx context.Context) (instrumentationutils.RequestStatus, error) {
var innerErr error
resp, innerErr = m.next.ConvertObject(ctx, req)
resp, innerErr = m.next.ConvertObjects(ctx, req)
return instrumentationutils.RequestStatusFromError(innerErr), innerErr
})
@@ -81,7 +81,7 @@ func (m *PluginRequestMetaMiddleware) MutateAdmission(ctx context.Context, req *
}
// ConvertObject implements backend.AdmissionHandler.
func (m *PluginRequestMetaMiddleware) ConvertObject(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
func (m *PluginRequestMetaMiddleware) ConvertObjects(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
ctx = m.withDefaultPluginRequestMeta(ctx)
return m.next.ConvertObject(ctx, req)
return m.next.ConvertObjects(ctx, req)
}
@@ -155,10 +155,10 @@ func (m *TracingMiddleware) MutateAdmission(ctx context.Context, req *backend.Ad
}
// ConvertObject implements backend.AdmissionHandler.
func (m *TracingMiddleware) ConvertObject(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
func (m *TracingMiddleware) ConvertObjects(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
var err error
ctx, end := m.traceWrap(ctx, req.PluginContext)
defer func() { end(err) }()
resp, err := m.next.ConvertObject(ctx, req)
resp, err := m.next.ConvertObjects(ctx, req)
return resp, err
}
@@ -398,7 +398,7 @@ func (m *alwaysErrorFuncMiddleware) MutateAdmission(ctx context.Context, req *ba
}
// ConvertObject implements backend.AdmissionHandler.
func (m *alwaysErrorFuncMiddleware) ConvertObject(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
func (m *alwaysErrorFuncMiddleware) ConvertObjects(ctx context.Context, req *backend.ConversionRequest) (*backend.ConversionResponse, error) {
return nil, m.f()
}