Documentation
¶
Overview ¶
Package ruleclient implements a gRPC streaming client that receives generation and verification rules from the kontxt controller's RuleDiscoveryService. It replaces the ConfigMap/fsnotify-based RulesLoader.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GenerationSetter ¶
type GenerationSetter interface {
SetGenerationRules(rules []controller.GenerationRule)
}
GenerationSetter receives generation rules from the client.
type RuleClient ¶
type RuleClient struct {
// contains filtered or unexported fields
}
RuleClient connects to the controller's RuleDiscoveryService and streams generation and verification rules to the local ext-auth servers.
func NewRuleClient ¶
func NewRuleClient(addr string, opts ...grpc.DialOption) *RuleClient
NewRuleClient creates a RuleClient targeting the given controller gRPC address.
func (*RuleClient) Run ¶
func (c *RuleClient) Run(ctx context.Context) error
Run connects to the controller and streams rules. It reconnects on error with exponential backoff. It blocks until ctx is canceled.
func (*RuleClient) SetGenerationSetter ¶
func (c *RuleClient) SetGenerationSetter(s GenerationSetter)
SetGenerationSetter sets the target that receives generation rules.
func (*RuleClient) SetVerificationSetter ¶
func (c *RuleClient) SetVerificationSetter(s VerificationSetter)
SetVerificationSetter sets the target that receives verification rules.
type VerificationSetter ¶
type VerificationSetter interface {
SetVerificationRules(rules []controller.VerificationRule)
}
VerificationSetter receives verification rules from the client.