From bb053bd4274bbf4eaceb3d631b55b595a74bd1ba Mon Sep 17 00:00:00 2001 From: JanHoefelmeyer Date: Fri, 17 Mar 2023 13:00:51 +0100 Subject: [PATCH] Add option no_lock to use no lock file if none was configured --- cmd/csaf_aggregator/config.go | 9 +++++++++ docs/csaf_aggregator.md | 4 +++- docs/examples/aggregator.toml | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) 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