mirror of
https://github.com/pomerium/pomerium.git
synced 2025-08-03 16:59:22 +02:00
add options to adjust databroker lease ttl, and retry initial interval (#5391)
This commit is contained in:
parent
f876e2f31d
commit
ecd2855dcc
7 changed files with 79 additions and 13 deletions
|
@ -10,6 +10,7 @@ import (
|
|||
var (
|
||||
defaultSessionRefreshGracePeriod = 1 * time.Minute
|
||||
defaultSessionRefreshCoolOffDuration = 10 * time.Second
|
||||
defaultLeaseTTL = 30 * time.Second
|
||||
)
|
||||
|
||||
type config struct {
|
||||
|
@ -17,6 +18,7 @@ type config struct {
|
|||
dataBrokerClient databroker.DataBrokerServiceClient
|
||||
sessionRefreshGracePeriod time.Duration
|
||||
sessionRefreshCoolOffDuration time.Duration
|
||||
leaseTTL time.Duration
|
||||
now func() time.Time
|
||||
eventMgr *events.Manager
|
||||
enabled bool
|
||||
|
@ -28,6 +30,7 @@ func newConfig(options ...Option) *config {
|
|||
WithSessionRefreshCoolOffDuration(defaultSessionRefreshCoolOffDuration)(cfg)
|
||||
WithNow(time.Now)(cfg)
|
||||
WithEnabled(true)(cfg)
|
||||
WithLeaseTTL(defaultLeaseTTL)(cfg)
|
||||
for _, option := range options {
|
||||
option(cfg)
|
||||
}
|
||||
|
@ -85,3 +88,9 @@ func WithEnabled(enabled bool) Option {
|
|||
cfg.enabled = enabled
|
||||
}
|
||||
}
|
||||
|
||||
func WithLeaseTTL(ttl time.Duration) Option {
|
||||
return func(o *config) {
|
||||
o.leaseTTL = ttl
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ func (mgr *Manager) UpdateConfig(options ...Option) {
|
|||
|
||||
// RunEnabled runs the manager. This method blocks until an error occurs or the given context is canceled.
|
||||
func (mgr *Manager) RunEnabled(ctx context.Context) error {
|
||||
leaser := databroker.NewLeaser("identity_manager", time.Second*30, mgr)
|
||||
leaser := databroker.NewLeaser("identity_manager", mgr.cfg.Load().leaseTTL, mgr)
|
||||
return leaser.Run(ctx)
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue