Versions in this module Expand all Collapse all v1 v1.0.1 Aug 15, 2024 Changes in this version + const OfflineLabel + var ErrConfigRequired = errors.New("rest config is required") + func DefaultAPIServer() *server.Server + func DefaultSchemaTemplates(ctx context.Context, clusterName string, cf *Factory, ...) []schema.Template + func DefaultSchemas(baseSchema *types.APISchemas) + func DefaultTemplate(ctx context.Context, clusterName string, clientGetter proxy.ClientGetter, ...) schema.Template + func GetURLPrefix(clusterName string) string + func NewHandler(cfg *rest.Config, sf schema.Factory, authMiddleware auth.Middleware, ...) (*apiserver.Server, http.Handler, error) + func NewPrefixed(r *http.Request, schemas *types.APISchemas, prefix string) (types.URLBuilder, error) + func Parse(apiOp *types.APIRequest, urlParser parse.URLParser) error + func Register(ctx context.Context, cols *DynamicColumns, ...) + func RemoveCache(clusterName, namespace, kind string) + func RoutesWrapper(prefix string) router.RouterFunc + type APIFunc func(schema.Factory, *types.APIRequest) + type Aggregator struct + Bdl *bundle.Bundle + Ctx context.Context + func NewAggregator(ctx context.Context, bdl *bundle.Bundle, ...) *Aggregator + func (a *Aggregator) Add(clusterInfo *clusterpb.ClusterInfo) + func (a *Aggregator) Audit(userID, orgID, templateName string, ctx map[string]interface{}) error + func (a *Aggregator) Auth(userID, orgID, clusterName string) (apiuser.Info, error) + func (a *Aggregator) CordonNode(ctx context.Context, req *apistructs.SteveRequest) error + func (a *Aggregator) CreateSteveResource(ctx context.Context, req *apistructs.SteveRequest) (types.APIObject, error) + func (a *Aggregator) Delete(clusterName string) + func (a *Aggregator) DeleteSteveResource(ctx context.Context, req *apistructs.SteveRequest) error + func (a *Aggregator) DrainNode(ctx context.Context, req *apistructs.SteveRequest) error + func (a *Aggregator) GetAllClusters() []string + func (a *Aggregator) GetSteveResource(ctx context.Context, req *apistructs.SteveRequest) (types.APIObject, error) + func (a *Aggregator) HasAccess(clusterName string, apiOp *types.APIRequest, verb string) (bool, error) + func (a *Aggregator) IsServerReady(clusterName string) bool + func (a *Aggregator) LabelNode(ctx context.Context, req *apistructs.SteveRequest, labels map[string]string) error + func (a *Aggregator) ListClusters() (ready, unready []string) + func (a *Aggregator) ListSteveResource(ctx context.Context, req *apistructs.SteveRequest) ([]types.APIObject, error) + func (a *Aggregator) OfflineNode(ctx context.Context, userID, orgID, clusterName string, nodeIDs []string) error + func (a *Aggregator) OnlineNode(ctx context.Context, req *apistructs.SteveRequest) error + func (a *Aggregator) PatchNode(ctx context.Context, req *apistructs.SteveRequest) error + func (a *Aggregator) Serve(clusterName string, apiOp *types.APIRequest) error + func (a *Aggregator) ServeHTTP(rw http.ResponseWriter, req *http.Request) + func (a *Aggregator) UnCordonNode(ctx context.Context, req *apistructs.SteveRequest) error + func (a *Aggregator) UnlabelNode(ctx context.Context, req *apistructs.SteveRequest, labels []string) error + func (a *Aggregator) UpdateSteveResource(ctx context.Context, req *apistructs.SteveRequest) (types.APIObject, error) + type CacheKey struct + ClusterName string + Kind string + Namespace string + func (k *CacheKey) GetKey() string + type ColumnDefinition struct + Field string + type Controllers struct + API apiregistrationv1.Interface + CRD apiextensionsv1.Interface + Core corev1.Interface + K8s kubernetes.Interface + RBAC rbacv1.Interface + RESTConfig *rest.Config + func NewController(cfg *rest.Config, opts *generic.FactoryOptions) (*Controllers, error) + func (c *Controllers) Start(ctx context.Context) error + type DynamicColumns struct + func NewDynamicColumns(config *rest.Config) (*DynamicColumns, error) + func (d *DynamicColumns) SetColumns(ctx context.Context, schema *types.APISchema) error + type Factory struct + Config *rest.Config + func NewFactory(cfg *rest.Config, impersonate bool) (*Factory, error) + func (p *Factory) AdminClient(ctx *types.APIRequest, s *types.APISchema, namespace string, ...) (dynamic.ResourceInterface, error) + func (p *Factory) AdminClientForWatch(ctx *types.APIRequest, s *types.APISchema, namespace string, ...) (dynamic.ResourceInterface, error) + func (p *Factory) AdminDynamicClient() dynamic.Interface + func (p *Factory) AdminK8sInterface() (kubernetes.Interface, error) + func (p *Factory) Client(ctx *types.APIRequest, s *types.APISchema, namespace string, ...) (dynamic.ResourceInterface, error) + func (p *Factory) ClientForWatch(ctx *types.APIRequest, s *types.APISchema, namespace string, ...) (dynamic.ResourceInterface, error) + func (p *Factory) DynamicClient(ctx *types.APIRequest, warningHandler rest.WarningHandler) (dynamic.Interface, error) + func (p *Factory) IsImpersonating() bool + func (p *Factory) K8sInterface(ctx *types.APIRequest) (kubernetes.Interface, error) + func (p *Factory) MetadataClient() metadata.Interface + func (p *Factory) TableAdminClient(ctx *types.APIRequest, s *types.APISchema, namespace string, ...) (dynamic.ResourceInterface, error) + func (p *Factory) TableAdminClientForWatch(ctx *types.APIRequest, s *types.APISchema, namespace string, ...) (dynamic.ResourceInterface, error) + func (p *Factory) TableClient(ctx *types.APIRequest, s *types.APISchema, namespace string, ...) (dynamic.ResourceInterface, error) + func (p *Factory) TableClientForWatch(ctx *types.APIRequest, s *types.APISchema, namespace string, ...) (dynamic.ResourceInterface, error) + type Options struct + AccessSetLookup accesscontrol.AccessSetLookup + AggregationSecretName string + AggregationSecretNamespace string + AuthMiddleware auth.Middleware + ClientFactory *Factory + ClusterName string + ClusterRegistry string + Controllers *Controllers + Next http.Handler + Router router.RouterFunc + URLPrefix string + type PrefixedURLBuilder struct + func (u *PrefixedURLBuilder) RelativeToRoot(path string) string + type Response struct + ResponseData interface{} + StatusCode int + func (rw *Response) Write(apiOp *types.APIRequest, code int, obj types.APIObject) + func (rw *Response) WriteList(apiOp *types.APIRequest, code int, obj types.APIObjectList) + type SchemasHandler interface + OnSchemas func(schemas *schema2.Collection) error + type Server struct + APIServer *apiserver.Server + AccessSetLookup accesscontrol.AccessSetLookup + BaseSchemas *types.APISchemas + ClientFactory *Factory + ClusterCache clustercache.ClusterCache + ClusterName string + ClusterRegistry string + RESTConfig *rest.Config + SchemaFactory schema.Factory + URLPrefix string + func New(ctx context.Context, restConfig *rest.Config, opts *Options) (*Server, error) + func (c *Server) Handle(apiOp *types.APIRequest) + func (c *Server) ListenAndServe(ctx context.Context, httpsPort, httpPort int, opts *server.ListenOpts) error + func (c *Server) SetSchemas(apiOp *types.APIRequest) error + func (c *Server) StartAggregation(ctx context.Context) + type StatusCodeGetter struct + Response *Response + func (scg *StatusCodeGetter) Header() http.Header + func (scg *StatusCodeGetter) Write([]byte) (int, error) + func (scg *StatusCodeGetter) WriteHeader(code int)