diff --git a/cmd/csaf_aggregator/config.go b/cmd/csaf_aggregator/config.go index 44bd9b8..7843f73 100644 --- a/cmd/csaf_aggregator/config.go +++ b/cmd/csaf_aggregator/config.go @@ -34,6 +34,10 @@ const ( defaultUpdateInterval = "on best effort" ) +var ( + defaultLockFile = "/var/csaf_aggregator/run.lock" +) + type provider struct { Name string `toml:"name"` Domain string `toml:"domain"` @@ -71,6 +75,7 @@ type config struct { // LockFile tries to lock to a given file. LockFile *string `toml:"lock_file"` + NoLock bool `toml:"no_lock"` // Interim performs an interim scan. Interim bool `toml:"interim"` @@ -262,6 +267,10 @@ func (c *config) setDefaults() { c.Domain = defaultDomain } + if !c.NoLock && c.LockFile == nil { + c.LockFile = &defaultLockFile + } + if c.Workers <= 0 { if n := runtime.NumCPU(); n > defaultWorkers { c.Workers = defaultWorkers diff --git a/docs/csaf_aggregator.md b/docs/csaf_aggregator.md index c852491..602f79a 100644 --- a/docs/csaf_aggregator.md +++ b/docs/csaf_aggregator.md @@ -91,7 +91,8 @@ openpgp_private_key // OpenPGP private key (must have no passphrase set, if // you want to be able to run unattended, e.g. via cron.) openpgp_public_key // OpenPGP public key passphrase // passphrase of the OpenPGP key -lock_file // path to lockfile, to stop other instances if one is not done (default no locking) +lock_file // path to lockfile, to stop other instances if one is not done (default:run.lock) +no_lock // explicitely disable usage of lock files. (default: false) interim_years // limiting the years for which interim documents are searched (default 0) verbose // print more diagnostic output, e.g. https requests (default false) allow_single_provider // debugging option (default false) @@ -158,6 +159,7 @@ categories document. For a more detailed explanation and examples, workers = 2 folder = "/var/csaf_aggregator" lock_file = "/var/csaf_aggregator/run.lock" +#no_lock = false web = "/var/csaf_aggregator/html" domain = "https://localhost:9443" rate = 10.0 diff --git a/docs/examples/aggregator.toml b/docs/examples/aggregator.toml index ac73cc4..235a891 100644 --- a/docs/examples/aggregator.toml +++ b/docs/examples/aggregator.toml @@ -1,6 +1,7 @@ workers = 2 folder = "/var/csaf_aggregator" lock_file = "/var/csaf_aggregator/run.lock" +#no_lock = false web = "/var/csaf_aggregator/html" domain = "https://localhost:9443" rate = 10.0