Add file watcher for dynamic configuration and client reloading

- Introduced `Watcher` for monitoring updates to the configuration file and authentication directory.
- Integrated file watching into `StartService` to handle dynamic changes without restarting.
- Enhanced API server and handlers to support client and configuration updates.
- Updated `.gitignore` to include `docs/` directory.
- Modified go dependencies to include `fsnotify` for the file watcher.
This commit is contained in:
Luis Pater
2025-08-02 16:05:05 +08:00
parent 3b4634e2dc
commit 3c4dc07980
8 changed files with 346 additions and 7 deletions

View File

@@ -63,14 +63,17 @@ func main() {
var wd string
// Load configuration from the specified path or the default path.
var configFilePath string
if configPath != "" {
configFilePath = configPath
cfg, err = config.LoadConfig(configPath)
} else {
wd, err = os.Getwd()
if err != nil {
log.Fatalf("failed to get working directory: %v", err)
}
cfg, err = config.LoadConfig(path.Join(wd, "config.yaml"))
configFilePath = path.Join(wd, "config.yaml")
cfg, err = config.LoadConfig(configFilePath)
}
if err != nil {
log.Fatalf("failed to load config: %v", err)
@@ -102,6 +105,6 @@ func main() {
if login {
cmd.DoLogin(cfg, projectID)
} else {
cmd.StartService(cfg)
cmd.StartService(cfg, configFilePath)
}
}