From b063feca29b51018ae1570668734eea007704e58 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Mon, 2 Nov 2026 01:08:08 +0800 Subject: [PATCH] chore(youko): drop victoriametrics' leftover data-dir group The data dir is the module's own DynamicUser StateDirectory (already /var/lib/victoriametrics -> private/victoriametrics on youko), so the victoriametrics-data group, its tmpfiles rule and SupplementaryGroups did nothing. stateDir was set to its default. Assisted-by: Claude Code (claude-opus-5-5) --- .../monitoring/victoriametrics.nix | 18 ------------------ hosts/12kingdoms-youko/service-user-ids.nix | 1 - 2 files changed, 19 deletions(-) diff --git a/hosts/12kingdoms-youko/homelab-services/monitoring/victoriametrics.nix b/hosts/12kingdoms-youko/homelab-services/monitoring/victoriametrics.nix index c96fcc8c..65d9e864 100644 --- a/hosts/12kingdoms-youko/homelab-services/monitoring/victoriametrics.nix +++ b/hosts/12kingdoms-youko/homelab-services/monitoring/victoriametrics.nix @@ -29,22 +29,6 @@ let ]; in { - # Since victoriametrics use DynamicUser, the user & group do not exists before the service starts. - # this group is used as a supplementary Unix group for the service to access our data dir under /var/lib - users.groups.victoriametrics-data = { }; - - # Workaround for victoriametrics to store data in another place - # https://www.freedesktop.org/software/systemd/man/latest/tmpfiles.d.html#Type - systemd.tmpfiles.rules = [ - "d /var/lib/victoriametrics 0770 root victoriametrics-data - -" - ]; - - # Symlinks do not work with DynamicUser, so we should use bind mount here. - # https://github.com/systemd/systemd/issues/25097#issuecomment-1929074961 - systemd.services.victoriametrics.serviceConfig = { - SupplementaryGroups = [ "victoriametrics-data" ]; - }; - # https://victoriametrics.io/docs/victoriametrics/latest/configuration/configuration/ services.victoriametrics = { enable = true; @@ -60,8 +44,6 @@ in # Keep it >= the senders' scrapeInterval (vmagent 20s, in-cluster 30s). "-dedup.minScrapeInterval=30s" ]; - # Directory below /var/lib to store victoriametrics metrics data. - stateDir = "victoriametrics"; # specifies a set of targets and parameters describing how to scrape metrics from them. # https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config diff --git a/hosts/12kingdoms-youko/service-user-ids.nix b/hosts/12kingdoms-youko/service-user-ids.nix index 2a192199..b520e9e4 100644 --- a/hosts/12kingdoms-youko/service-user-ids.nix +++ b/hosts/12kingdoms-youko/service-user-ids.nix @@ -31,7 +31,6 @@ users.groups = { jellyfin.gid = 974; wireshark.gid = 975; - victoriametrics-data.gid = 976; uinput.gid = 977; sftpgo.gid = 981; ryan.gid = 982;