nixfleet/modules/loki/default.nix
Andrea Ciceri a394b9cefd
All checks were successful
/ test (push) Successful in 32s
Reformat everything
2024-09-20 11:37:17 +02:00

69 lines
1.7 KiB
Nix

{ config, ... }:
let
cfg = config.services.loki;
in
{
services.loki = {
enable = true;
configuration = {
# Basic stuff
auth_enabled = false;
server = {
http_listen_port = 3100;
log_level = "warn";
};
common = {
path_prefix = config.services.loki.dataDir;
storage.filesystem = {
chunks_directory = "${cfg.dataDir}/chunks";
rules_directory = "${cfg.dataDir}/rules";
};
replication_factor = 1;
ring.kvstore.store = "inmemory";
ring.instance_addr = "127.0.0.1";
};
ingester.chunk_encoding = "snappy";
limits_config = {
retention_period = "120h";
ingestion_burst_size_mb = 16;
reject_old_samples = true;
reject_old_samples_max_age = "12h";
};
table_manager = {
retention_deletes_enabled = true;
retention_period = "120h";
};
compactor = {
retention_enabled = true;
compaction_interval = "10m";
working_directory = "${cfg.dataDir}/compactor";
delete_request_cancel_period = "10m"; # don't wait 24h before processing the delete_request
retention_delete_delay = "2h";
retention_delete_worker_count = 150;
delete_request_store = "filesystem";
};
schema_config.configs = [
{
from = "2020-11-08";
store = "tsdb";
object_store = "filesystem";
schema = "v13";
index.prefix = "index_";
index.period = "24h";
}
];
query_range.cache_results = true;
limits_config.split_queries_by_interval = "24h";
};
};
environment.persistence."/persist".directories = [
cfg.dataDir
];
}