Browse Source
refactor(config): update template, add validation (#6229)
This change is a follow up to #6166
- add new options to `.env.template`
- add validation for new config option values
pull/6233/head
Helmut K. C. Tessarek
4 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
17 additions and
1 deletions
-
.env.template
-
src/config.rs
|
|
@ -80,8 +80,16 @@ |
|
|
|
## Timeout when acquiring database connection |
|
|
|
# DATABASE_TIMEOUT=30 |
|
|
|
|
|
|
|
## Database idle timeout |
|
|
|
## Timeout in seconds before idle connections to the database are closed. |
|
|
|
# DATABASE_IDLE_TIMEOUT=600 |
|
|
|
|
|
|
|
## Database min connections |
|
|
|
## Define the minimum size of the connection pool used for connecting to the database. |
|
|
|
# DATABASE_MIN_CONNS=2 |
|
|
|
|
|
|
|
## Database max connections |
|
|
|
## Define the size of the connection pool used for connecting to the database. |
|
|
|
## Define the maximum size of the connection pool used for connecting to the database. |
|
|
|
# DATABASE_MAX_CONNS=10 |
|
|
|
|
|
|
|
## Database connection initialization |
|
|
|
|
|
@ -834,6 +834,14 @@ fn validate_config(cfg: &ConfigItems) -> Result<(), Error> { |
|
|
|
err!(format!("`DATABASE_MAX_CONNS` contains an invalid value. Ensure it is between 1 and {limit}.",)); |
|
|
|
} |
|
|
|
|
|
|
|
if cfg.database_min_conns < 1 || cfg.database_min_conns > limit { |
|
|
|
err!(format!("`DATABASE_MIN_CONNS` contains an invalid value. Ensure it is between 1 and {limit}.",)); |
|
|
|
} |
|
|
|
|
|
|
|
if cfg.database_min_conns > cfg.database_max_conns { |
|
|
|
err!(format!("`DATABASE_MIN_CONNS` must be smaller than or equal to `DATABASE_MAX_CONNS`.",)); |
|
|
|
} |
|
|
|
|
|
|
|
if let Some(log_file) = &cfg.log_file { |
|
|
|
if std::fs::OpenOptions::new().append(true).create(true).open(log_file).is_err() { |
|
|
|
err!("Unable to write to log file", log_file); |
|
|
|