feat(controller): Hub asset syncer for logos and screenshots
Add internal/assets package that downloads and caches app assets from Hub API with SHA-256 change detection. Assets resolve from synced cache first, falling back to baked-in directory. Daily sync schedule + on-demand POST /api/assets/sync endpoint. Config: assets.sync_enabled + assets.sync_schedule (default 05:00) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -138,7 +138,9 @@ type LoggingConfig struct {
|
||||
}
|
||||
|
||||
type AssetsConfig struct {
|
||||
SourceURL string `yaml:"source_url"` // Only used during build, not runtime
|
||||
SourceURL string `yaml:"source_url"` // Only used during build, not runtime
|
||||
SyncEnabled bool `yaml:"sync_enabled"` // Download assets from Hub API
|
||||
SyncSchedule string `yaml:"sync_schedule"` // Daily sync time (HH:MM), default "05:00"
|
||||
}
|
||||
|
||||
type HubConfig struct {
|
||||
@@ -263,6 +265,7 @@ func applyDefaults(cfg *Config) {
|
||||
di(&cfg.Logging.MaxSizeMB, 10)
|
||||
di(&cfg.Logging.MaxFiles, 3)
|
||||
d(&cfg.Assets.SourceURL, "https://felhom.eu")
|
||||
d(&cfg.Assets.SyncSchedule, "05:00")
|
||||
di(&cfg.System.ReservedMemoryMB, 384)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user