Merge pull request #326068 from phozzy/Feat/Add-syslog-capabilities-4-opentelemetry-collector

Feat/add syslog capabilities 4 opentelemetry collector
This commit is contained in:
Florian Klink 2024-07-11 15:10:43 +03:00 committed by GitHub
commit a307e5d76b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -6,8 +6,9 @@ let
cfg = config.services.opentelemetry-collector; cfg = config.services.opentelemetry-collector;
opentelemetry-collector = cfg.package; opentelemetry-collector = cfg.package;
settingsFormat = pkgs.formats.yaml {}; settingsFormat = pkgs.formats.yaml { };
in { in
{
options.services.opentelemetry-collector = { options.services.opentelemetry-collector = {
enable = mkEnableOption "Opentelemetry Collector"; enable = mkEnableOption "Opentelemetry Collector";
@ -15,7 +16,7 @@ in {
settings = mkOption { settings = mkOption {
type = settingsFormat.type; type = settingsFormat.type;
default = {}; default = { };
description = '' description = ''
Specify the configuration for Opentelemetry Collector in Nix. Specify the configuration for Opentelemetry Collector in Nix.
@ -35,9 +36,9 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
assertions = [{ assertions = [{
assertion = ( assertion = (
(cfg.settings == {}) != (cfg.configFile == null) (cfg.settings == { }) != (cfg.configFile == null)
); );
message = '' message = ''
Please specify a configuration for Opentelemetry Collector with either Please specify a configuration for Opentelemetry Collector with either
'services.opentelemetry-collector.settings' or 'services.opentelemetry-collector.settings' or
'services.opentelemetry-collector.configFile'. 'services.opentelemetry-collector.configFile'.
@ -48,21 +49,27 @@ in {
description = "Opentelemetry Collector Service Daemon"; description = "Opentelemetry Collector Service Daemon";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = let serviceConfig =
conf = if cfg.configFile == null let
then settingsFormat.generate "config.yaml" cfg.settings conf =
else cfg.configFile; if cfg.configFile == null
in then settingsFormat.generate "config.yaml" cfg.settings
{ else cfg.configFile;
ExecStart = "${getExe opentelemetry-collector} --config=file:${conf}"; in
DynamicUser = true; {
Restart = "always"; ExecStart = "${getExe opentelemetry-collector} --config=file:${conf}";
ProtectSystem = "full"; DynamicUser = true;
DevicePolicy = "closed"; Restart = "always";
NoNewPrivileges = true; ProtectSystem = "full";
WorkingDirectory = "/var/lib/opentelemetry-collector"; DevicePolicy = "closed";
StateDirectory = "opentelemetry-collector"; NoNewPrivileges = true;
}; WorkingDirectory = "%S/opentelemetry-collector";
StateDirectory = "opentelemetry-collector";
SupplementaryGroups = [
# allow to read the systemd journal for opentelemetry-collector
"systemd-journal"
];
};
}; };
}; };
} }