83 lines
3.2 KiB
Nix
83 lines
3.2 KiB
Nix
{ config, lib, ... }:
|
|
{
|
|
# The OIDC secret is consumed by both Dex's privileged start-pre step and
|
|
# the headscale service. Root can read it for Dex; headscale must own the
|
|
# runtime copy for its direct client_secret_path read.
|
|
age.secrets.oidcHeadscale.owner = lib.mkForce "headscale";
|
|
age.secrets.oidcHeadscale.mode = lib.mkForce "400";
|
|
age.secrets.traefik.owner = lib.mkForce "root";
|
|
|
|
# Seit der Reduktion am 12.09.2026 (docs/pinix-minimalbetrieb.md) gilt das
|
|
# auch für diese vier: global mit Besitzern deklariert, deren Dienste hier
|
|
# nicht mehr laufen. Ohne mkForce scheitert agenixChown mit
|
|
# "chown: invalid user".
|
|
age.secrets.webdav.owner = lib.mkForce "root";
|
|
age.secrets.oidcGTS.owner = lib.mkForce "root";
|
|
age.secrets.oidcGTSEnv.owner = lib.mkForce "root";
|
|
age.secrets.bindPW.owner = lib.mkForce "root";
|
|
# radicale/calendar ist seit 12.09.2026 aus, der Gruppenname existiert
|
|
# darum nicht mehr -- root-owned lassen, sonst scheitert die Aktivierung.
|
|
# lldapAdmin selbst liest hier seit 13.09.2026 niemand mehr: pinix' LLDAP
|
|
# und Dex nutzen ihr eigenes pinixLldapAdmin-Secret (siehe unten).
|
|
age.secrets.lldapAdmin.owner = lib.mkForce "root";
|
|
age.secrets.lldapAdmin.mode = lib.mkForce "400";
|
|
|
|
# Eigenes Admin-Passwort fuer pinix' separate LLDAP-Instanz (lldap.nix,
|
|
# dex.nix) -- unabhaengig vom mit blunix geteilten lldapAdmin. Root-owned,
|
|
# aus demselben Grund wie oben: LoadCredential/das Env-Skript laufen als
|
|
# root, bevor die jeweiligen Dienste ihre Rechte abgeben.
|
|
age.secrets.pinixLldapAdmin = {
|
|
file = ../../../secrets/pinixLldapAdmin.age;
|
|
owner = "root";
|
|
mode = "400";
|
|
};
|
|
|
|
# finance-agent-worker (runs as drone) reads this for read-only IMAP
|
|
# access -- see hosts/pinix/localServices/finance-agent.nix. Global
|
|
# default owner is "builder" (home/tnix's mail setup), which doesn't
|
|
# exist as a pinix user.
|
|
age.secrets.mailPW.owner = lib.mkForce "drone";
|
|
|
|
# Vikunja receives this root-owned file through systemd credentials.
|
|
age.secrets.oidcVikunja.file = ../../../secrets/oidcVikunja.age;
|
|
|
|
# prosody läuft auf blunix; der pinix-Nutzer existiert nicht mehr.
|
|
# age.secrets.motd = {
|
|
# file = ../../../secrets/motd.age;
|
|
# name = "motd.cfg.lua";
|
|
# owner = "prosody";
|
|
# };
|
|
|
|
age.secrets.headscalePreAuthKey = {
|
|
file = ../../../secrets/headscalePreAuthKey.age;
|
|
owner = "drone";
|
|
};
|
|
|
|
age.secrets.pinixHeadscalePreAuthKey = {
|
|
file = ../../../secrets/pinixHeadscalePreAuthKey.age;
|
|
owner = "root";
|
|
mode = "400";
|
|
};
|
|
|
|
age.secrets.wirelessSecretsFile = {
|
|
file = ../../../secrets/wirelessSecretsFile.age;
|
|
owner = "drone";
|
|
};
|
|
|
|
age.secrets.financeXmpp = {
|
|
file = ../../../secrets/financeXmpp.age;
|
|
owner = "drone";
|
|
};
|
|
|
|
# radio.nix ist aus, icecast-radio existiert nicht mehr.
|
|
# age.secrets.icecastPw = {
|
|
# file = ../../../secrets/icecastPw.age;
|
|
# owner = "icecast-radio";
|
|
# };
|
|
|
|
# TSIG-Schluessel fuer die ACME-DNS-01-Challenge gegen das lokale BIND.
|
|
# Environment-Form, damit Traefik sie direkt als EnvironmentFile nutzt und
|
|
# bind.nix daraus BINDs key-Syntax rendert. Root-eigen: beide Leser holen
|
|
# sie ueber systemd, bevor Rechte abgegeben werden.
|
|
age.secrets.bindAcmeTsig.file = ../../../secrets/bindAcmeTsig.age;
|
|
}
|