Files
Charandas aa2cf8e398 Remove kube-aggregator from OSS (#103659)
* feat: remove kube-aggregator for OSS and provide injection points with runner iface

* upgrade authlib to support expiresIn

* new FT

* new FT again

* update go.mod

* get rid of the slice implementation

* reconcile conflicts

* gracefully handle enterprise not being linked situation with kubeAggregator FT true

* allow dataplane agg and kube agg to both be added to delegate chain

* make update-workspace

* address feedback

* revert go.mod changes

* go.mod updates

* elaborate on why and how of skipping the Ready channel handling

* after rebase and make run
2025-05-15 11:14:23 -07:00

25 lines
1015 B
Go

package aggregatorrunner
import (
"context"
"k8s.io/apimachinery/pkg/runtime"
genericapiserver "k8s.io/apiserver/pkg/server"
"github.com/grafana/grafana/pkg/services/apiserver/builder"
"github.com/grafana/grafana/pkg/services/apiserver/options"
)
// AggregatorRunner is an interface for running an aggregator inside the same generic apiserver delegate chain
type AggregatorRunner interface {
// Configure is called to configure the component and returns the delegate for further chaining.
Configure(opts *options.Options,
config *genericapiserver.RecommendedConfig,
delegateAPIServer genericapiserver.DelegationTarget,
scheme *runtime.Scheme,
builders []builder.APIGroupBuilder) (*genericapiserver.GenericAPIServer, error)
// Run starts the complete apiserver chain, expects it executes any logic inside a goroutine and doesn't block. Returns the running server.
Run(ctx context.Context, transport *options.RoundTripperFunc, stoppedCh chan error) (*genericapiserver.GenericAPIServer, error)
}