feat(ups): monitoring de l'onduleur #97
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: DGNum/infrastructure#97
Loading…
Reference in a new issue
No description provided.
Delete branch "lbailly/infrastructure:ups"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
0319c06dd1
toca8e211333
@ -0,0 +28,4 @@
esac
'';
rules = ''
CMDSCRIPT ${pkgs.writeShellScript "upssched-cmd.sh" cmdScript}
pkgs.writeShellApplication
est approprié ici (pour avoir de l'analyse statique du script bash)@ -0,0 +30,4 @@
rules = ''
CMDSCRIPT ${pkgs.writeShellScript "upssched-cmd.sh" cmdScript}
PIPEFN /var/state/ups/upssched/upssched.pipe
LOCKFN /var/state/ups/upssched/upssched.lock
Il me semble que mettre ça dans le state directory de upsmon (
/var/lib/upsmon
) évite d'avoir besoin des tmpfiles.Le dossier existe pas non plus, et pour des raison de sécurité on veut qu'il soit en 0700 (pas sur que la raison s'applique à nixos mais au cas où https://networkupstools.org/docs/man/upssched.conf.html), donc tmpfiles fait bien le taff
Pour l'endroit, j'ai juste pris le dossier qu'il proposait par défaut
ok
ff6217f68e
to121903df7e
bfae550bc1
to15af2e58ac
WIP: feat(ups): monitoring de l'onduleurto feat(ups): monitoring de l'onduleur@ -0,0 +1,87 @@
{ pkgs, config, ... }:
Le
lib
c'est pour legetExe
d'ensuite@ -0,0 +2,4 @@
{
power.ups = {
enable = true;
ups."eaton" = {
@ -0,0 +7,4 @@
port = "auto";
};
upsmon.enable = false;
users."eatonMon" = {
Y'a pas besoin de quotes pour le username, et les majscules c'est chelou je mettrai
eatonmon
plutôtPerso j'aime bien mettre les clefs des attrsOf en quotes pour bien voir que c'est pas un truc du module mais as you want
@ -0,0 +11,4 @@
passwordFile = config.age.secrets."eatonmon-password_file".path;
upsmon = "primary";
};
upsmon.monitor."eaton" = {
Pareil, pas besoin de quotes pour
eaton
@ -0,0 +46,4 @@
'';
};
rules = ''
CMDSCRIPT ${cmdScript}/bin/upssched-cmd.sh
@ -0,0 +60,4 @@
in
(pkgs.writeTextFile {
name = "upssched.conf";
text = rules;
Tu peux inline les rules je pense, et le
outPath
n'est pas nécessaireil est nécessaire car sinon ça évalue pas à cause de
power.ups.schedulerRules
qui demande un string et pas un path, donc la dérivation se transforme pas auto dans le bon type@ -0,0 +32,4 @@
*) MEANING="Signal unknown, check configuration.";;
esac
sendmail -i -t <<ERRMAIL
To: fai@dgnum.eu
fai+monitoring@dgnum.eu
plutôtd27cacd801
to0abfe4d60b
0abfe4d60b
to1eea46b59f