client

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2022 License: Apache-2.0 Imports: 20 Imported by: 1

Documentation

Index

Constants

View Source
const (

	// UserConfigName configuration/context for user
	UserConfigName = "UserConfig"
	// AuthorizationHeader authorization header for http requests
	AuthorizationHeader = "Authorization"
	// BearerPrefix bearer token prefix for token
	BearerPrefix = "Bearer "

	// QueryParameterTokenName authorization token for http requests
	QueryParameterTokenName = "token"
)

Variables

View Source
var (
	DefaultTimeout         = 10 * time.Second
	DefaultQPS     float32 = 50.0
	DefaultBurst           = 60
)

Functions

func BuildCmdConfig

func BuildCmdConfig(authInfo *api.AuthInfo, cfg *rest.Config) clientcmd.ClientConfig

func Client

func Client(ctx context.Context) client.Client

Client returns a client.Client in a given context. Returns nil if not found

func Cluster

func Cluster(ctx context.Context) cluster.Cluster

Cluster returns a cluster.Cluster, returns nil if not found

func DirectClient

func DirectClient(ctx context.Context) client.Client

DirectClient returns a client.Client in a given context. Returns nil if not found

func DynamicClient

func DynamicClient(ctx context.Context) (dynamic.Interface, error)

DynamicClient returns a dynamic client.Client, returns nil if not found

func FromBearerToken

func FromBearerToken(req *restful.Request, baseConfig GetBaseConfigFunc) (config *rest.Config, err error)

FromBearerToken retrieves config based on the bearer token

func GetToken

func GetToken(req *restful.Request) (token string)

GetToken get token from request headers or request query parameters. return emtry if no token find

func ManagerFilter

func ManagerFilter(ctx context.Context, mgr *Manager) restful.FilterFunction

ManagerFilter generates filter based on a manager to create a config based in a request and injects into context

func SelfSubjectAccessReviewForResource

func SelfSubjectAccessReviewForResource(ctx context.Context, name, namespace string, resourceAtt authv1.ResourceAttributes, addName bool) (err error)

func SelfSubjectReviewFilterForResource

func SelfSubjectReviewFilterForResource(ctx context.Context, resourceAtt authv1.ResourceAttributes, namespaceParameter, nameParameter string) restful.FilterFunction

SelfSubjectReviewFilterForResource makes a self subject review based a configuration already present inside the request context using the user's bearer token

func WithClient

func WithClient(ctx context.Context, clt client.Client) context.Context

WithClient sets a client instance into a context

func WithCluster

func WithCluster(ctx context.Context, client cluster.Cluster) context.Context

WithCluster sets a cluster.Cluster instance into a context

func WithDirectClient

func WithDirectClient(ctx context.Context, clt client.Client) context.Context

WithDirectClient sets a client instance into a context

func WithDynamicClient

func WithDynamicClient(ctx context.Context, client dynamic.Interface) context.Context

WithDynamicClient sets a dynamic.Interface client instance into a context

func WithManager

func WithManager(ctx context.Context, mgr *Manager) context.Context

WithManager sets a manager instance into a context

Types

type GetBaseConfigFunc

type GetBaseConfigFunc func() (*rest.Config, error)

type GetConfigFunc

type GetConfigFunc func(req *restful.Request, baseConfig GetBaseConfigFunc) (*rest.Config, error)

GetConfigFunc retrieves a configuration based on a request

type Manager

type Manager struct {
	GetConfig      GetConfigFunc
	GetBasicConfig GetBaseConfigFunc
	*zap.SugaredLogger
}

Manager dynamically generates client based on user requests

func ManagerCtx

func ManagerCtx(ctx context.Context) *Manager

ManagerCtx returns a *Manager in a given context. Returns nil if not found

func NewManager

func NewManager(ctx context.Context, get GetConfigFunc, baseConfig GetBaseConfigFunc) *Manager

NewManager initializes a new manager based on func

func (*Manager) Filter

func (m *Manager) Filter(ctx context.Context) restful.FilterFunction

Filter returns a filter to be used in

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL