Documentation
¶
Index ¶
- Constants
- Variables
- func BuildCmdConfig(authInfo *api.AuthInfo, cfg *rest.Config) clientcmd.ClientConfig
- func Client(ctx context.Context) client.Client
- func Cluster(ctx context.Context) cluster.Cluster
- func DirectClient(ctx context.Context) client.Client
- func DynamicClient(ctx context.Context) (dynamic.Interface, error)
- func FromBearerToken(req *restful.Request, baseConfig GetBaseConfigFunc) (config *rest.Config, err error)
- func GetDefaultTransport() http.RoundTripper
- func GetToken(req *restful.Request) (token string)
- func ManagerFilter(ctx context.Context, mgr *Manager) restful.FilterFunction
- func NewHTTPClient() *http.Client
- func SelfSubjectAccessReviewForResource(ctx context.Context, name, namespace string, ...) (err error)
- func SelfSubjectReviewFilterForResource(ctx context.Context, resourceAtt authv1.ResourceAttributes, ...) restful.FilterFunction
- func WithClient(ctx context.Context, clt client.Client) context.Context
- func WithCluster(ctx context.Context, client cluster.Cluster) context.Context
- func WithDirectClient(ctx context.Context, clt client.Client) context.Context
- func WithDynamicClient(ctx context.Context, client dynamic.Interface) context.Context
- func WithManager(ctx context.Context, mgr *Manager) context.Context
- type GetBaseConfigFunc
- type GetConfigFunc
- type Manager
Constants ¶
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 ¶
var ( DefaultTimeout = 10 * time.Second DefaultQPS float32 = 50.0 DefaultBurst = 60 )
Functions ¶
func BuildCmdConfig ¶
func DirectClient ¶
DirectClient returns a client.Client in a given context. Returns nil if not found
func DynamicClient ¶
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 ¶
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 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 ¶
WithClient sets a client instance into a context
func WithCluster ¶
WithCluster sets a cluster.Cluster instance into a context
func WithDirectClient ¶
WithDirectClient sets a client instance into a context
func WithDynamicClient ¶
WithDynamicClient sets a dynamic.Interface client instance into a context
Types ¶
type GetBaseConfigFunc ¶
type GetConfigFunc ¶
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 ¶
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