client

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2022 License: Apache-2.0 Imports: 24 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 GetDefaultTransport added in v0.3.0

func GetDefaultTransport() http.RoundTripper

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 NewHTTPClient added in v0.3.0

func NewHTTPClient() *http.Client

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