mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-11 18:32:23 +08:00
nixos/vector: add option to disable the configuration validation
Currently, during built time the configuration gets checked by vector. This can be a problem if [environment variables](https://vector.dev/docs/reference/environment_variables/) are interpolated into the configuration. In this case the validation can be disabled. This came up in trying to find a solution for [#377889](https://github.com/NixOS/nixpkgs/issues/377889).
This commit is contained in:
@@ -6,7 +6,6 @@
|
||||
}:
|
||||
let
|
||||
cfg = config.services.vector;
|
||||
|
||||
in
|
||||
{
|
||||
options.services.vector = {
|
||||
@@ -31,6 +30,14 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
validateConfig = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Enable the checking of the vector config during build time. This should be disabled when interpolating environment variables.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
type = (pkgs.formats.json { }).type;
|
||||
default = { };
|
||||
@@ -53,7 +60,7 @@ in
|
||||
let
|
||||
format = pkgs.formats.toml { };
|
||||
conf = format.generate "vector.toml" cfg.settings;
|
||||
validateConfig =
|
||||
validatedConfig =
|
||||
file:
|
||||
pkgs.runCommand "validate-vector-conf"
|
||||
{
|
||||
@@ -65,7 +72,9 @@ in
|
||||
'';
|
||||
in
|
||||
{
|
||||
ExecStart = "${lib.getExe cfg.package} --config ${validateConfig conf} --graceful-shutdown-limit-secs ${builtins.toString cfg.gracefulShutdownLimitSecs}";
|
||||
ExecStart = "${lib.getExe cfg.package} --config ${
|
||||
if cfg.validateConfig then (validatedConfig conf) else conf
|
||||
} --graceful-shutdown-limit-secs ${builtins.toString cfg.gracefulShutdownLimitSecs}";
|
||||
DynamicUser = true;
|
||||
Restart = "always";
|
||||
StateDirectory = "vector";
|
||||
|
||||
Reference in New Issue
Block a user