aboutsummaryrefslogtreecommitdiff
path: root/internal/config/config.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/config/config.go')
-rw-r--r--internal/config/config.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/internal/config/config.go b/internal/config/config.go
index 250827b..3ac03ea 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -74,10 +74,19 @@ type ServerConfig struct {
// StorageConfig contains database settings
type StorageConfig struct {
Path string `yaml:"path"`
+ URL string `yaml:"url,omitempty"` // libsql:// or file:// URL (overrides path, supports $ENV_VAR)
HistoryDays int `yaml:"history_days"`
Maintenance MaintenanceConfig `yaml:"maintenance,omitempty"`
}
+func (s *StorageConfig) GetDatabaseURL() string {
+ url := s.URL
+ if url == "" {
+ url = s.Path
+ }
+ return os.ExpandEnv(url)
+}
+
// MaintenanceConfig controls database maintenance/pruning behavior
type MaintenanceConfig struct {
// Mode: "never" (default), "backup" (rename with epoch suffix), "reset" (delete in place)