diff options
Diffstat (limited to 'internal/service/config.go')
-rw-r--r-- | internal/service/config.go | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/internal/service/config.go b/internal/service/config.go index 0f34997..2a8da6e 100644 --- a/internal/service/config.go +++ b/internal/service/config.go @@ -10,10 +10,21 @@ import ( "github.com/BurntSushi/toml" ) +type StagingMethod string + +const ( + StagingMethodNone = "none" + StagingMethodTemporary = "temporary" + StagingMethodPersistent = "persistent" +) + // Global parameters type GlobalConfig struct { - MaxInterval *Duration `toml:"max-interval"` - MinInterval *Duration `toml:"min-interval"` + MaxInterval *Duration `toml:"max-interval"` + MinInterval *Duration `toml:"min-interval"` + StagingMethod string `toml:"staging-method,omitempty"` + StagingPath string `toml:"staging-path,omitempty"` + Verify string `toml:"verify,omitempty"` } type Config struct { @@ -27,8 +38,11 @@ func (c *Config) String() string { var DefaultConfig = Config{ GlobalConfig: GlobalConfig{ - MaxInterval: DurationRef(24 * time.Hour), - MinInterval: DurationRef(time.Hour), + MaxInterval: DurationRef(24 * time.Hour), + MinInterval: DurationRef(time.Hour), + StagingMethod: StagingMethodNone, + StagingPath: "/tmp/mirror", + Verify: "", }, } @@ -113,5 +127,11 @@ func (c *Config) Append(src *Config) { if src.MinInterval != nil { c.MinInterval = src.MinInterval } + if src.StagingMethod != "" { + c.StagingMethod = src.StagingMethod + } + if src.StagingPath != "" { + c.StagingPath = src.StagingPath + } c.Mirrors = append(c.Mirrors, src.Mirrors...) } |