Documentation
¶
Index ¶
- func NewCachingAuthorizer(client kcpkubernetesclientset.ClusterInterface, auth CachingAuthorizerFunc, ...) *cachingAuthorizer
- func NewDelegatedAuthorizer(clusterName logicalcluster.Name, client kcpkubernetesclient.ClusterInterface, ...) (authorizer.Authorizer, error)
- type Cache
- type CachingAuthorizerFunc
- type CachingOptions
- type DelegatedAuthorizerFactory
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCachingAuthorizer ¶ added in v0.11.0
func NewCachingAuthorizer(client kcpkubernetesclientset.ClusterInterface, auth CachingAuthorizerFunc, opts CachingOptions) *cachingAuthorizer
NewCachingAuthorizer creates a new Authorizer that holds an internal cache of Delegated Authorizer(s).
func NewDelegatedAuthorizer ¶
func NewDelegatedAuthorizer(clusterName logicalcluster.Name, client kcpkubernetesclient.ClusterInterface, opts Options) (authorizer.Authorizer, error)
NewDelegatedAuthorizer returns a new authorizer for use in e.g. admission plugins that delegates to the kube API server via SubjectAccessReview.
Types ¶
type Cache ¶ added in v0.11.0
type Cache interface {
// Get returns the delegated authorizer for the given logical cluster.
Get(clusterName logicalcluster.Name) (authorizer.Authorizer, error)
}
Cache contains methods that define a delegated caching authorizer.
type CachingAuthorizerFunc ¶ added in v0.11.0
type CachingAuthorizerFunc func(ctx context.Context, cache Cache, a authorizer.Attributes) (authorizer.Decision, string, error)
CachingAuthorizerFunc looks similar to authorizer.AuthorizerFunc with the additional cache parameter for delegated authorizers.
type CachingOptions ¶ added in v0.11.0
type CachingOptions struct {
Options
// TTL is the default time-to-live when a delegated authorizer
// is stored in the internal cache.
TTL time.Duration
}
CachingOptions contains options to create a new Delegated Caching Authorizer.
type DelegatedAuthorizerFactory ¶
type DelegatedAuthorizerFactory func(clusterName logicalcluster.Name, client kcpkubernetesclient.ClusterInterface, opts Options) (authorizer.Authorizer, error)
type Options ¶ added in v0.11.0
type Options struct {
// AllowCacheTTL is the length of time that a successful authorization response will be cached
AllowCacheTTL time.Duration
// DenyCacheTTL is the length of time that an unsuccessful authorization response will be cached.
// You generally want more responsive, "deny, try again" flows.
DenyCacheTTL time.Duration
}
Options provides options to customize the created DelegatedAuthorizer.
Click to show internal directories.
Click to hide internal directories.