mirror of
https://github.com/grafana/grafana.git
synced 2025-07-29 11:22:21 +08:00

* 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
25 lines
1015 B
Go
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)
|
|
}
|