Documentation
¶
Overview ¶
clients.go implements watcher client lifecycle logic and persistence helpers. It reloads clients, handles incremental auth file changes, and persists updates when supported.
config_reload.go implements debounced configuration hot reload. It detects material changes and reloads clients when the config changes.
dispatcher.go implements auth update dispatching and queue management. It batches, deduplicates, and delivers auth updates to registered consumers.
events.go implements fsnotify event handling for config and auth file changes. It normalizes paths, debounces noisy events, and triggers reload/update logic.
Package watcher watches config/auth files and triggers hot reloads. It supports cross-platform fsnotify event handling.
Index ¶
- func BuildAPIKeyClients(cfg *config.Config) (int, int, int, int, int)
- type AuthUpdate
- type AuthUpdateAction
- type Watcher
- func (w *Watcher) DispatchRuntimeAuthUpdate(update AuthUpdate) bool
- func (w *Watcher) SetAuthUpdateQueue(queue chan<- AuthUpdate)
- func (w *Watcher) SetConfig(cfg *config.Config)
- func (w *Watcher) SnapshotCoreAuths() []*coreauth.Auth
- func (w *Watcher) Start(ctx context.Context) error
- func (w *Watcher) Stop() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AuthUpdate ¶
type AuthUpdate struct {
Action AuthUpdateAction
ID string
Auth *coreauth.Auth
}
AuthUpdate describes an incremental change to auth configuration.
type AuthUpdateAction ¶
type AuthUpdateAction string
AuthUpdateAction represents the type of change detected in auth sources.
const ( AuthUpdateActionAdd AuthUpdateAction = "add" AuthUpdateActionModify AuthUpdateAction = "modify" AuthUpdateActionDelete AuthUpdateAction = "delete" )
type Watcher ¶
type Watcher struct {
// contains filtered or unexported fields
}
Watcher manages file watching for configuration and authentication files
func NewWatcher ¶
NewWatcher creates a new file watcher instance
func (*Watcher) DispatchRuntimeAuthUpdate ¶ added in v6.5.28
func (w *Watcher) DispatchRuntimeAuthUpdate(update AuthUpdate) bool
DispatchRuntimeAuthUpdate allows external runtime providers (e.g., websocket-driven auths) to push auth updates through the same queue used by file/config watchers. Returns true if the update was enqueued; false if no queue is configured.
func (*Watcher) SetAuthUpdateQueue ¶
func (w *Watcher) SetAuthUpdateQueue(queue chan<- AuthUpdate)
SetAuthUpdateQueue sets the queue used to emit auth updates.
func (*Watcher) SnapshotCoreAuths ¶
SnapshotCoreAuths converts current clients snapshot into core auth entries.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package synthesizer provides auth synthesis strategies for the watcher package.
|
Package synthesizer provides auth synthesis strategies for the watcher package. |