feat(ups): monitoring de l'onduleur #97

Merged
thubrecht merged 6 commits from lbailly/infrastructure:ups into main 2024-04-21 23:20:24 +02:00
Member
No description provided.
lbailly force-pushed ups from 0319c06dd1 to ca8e211333 2024-04-19 23:31:40 +02:00 Compare
mdebray reviewed 2024-04-20 00:39:09 +02:00
@ -0,0 +28,4 @@
esac
'';
rules = ''
CMDSCRIPT ${pkgs.writeShellScript "upssched-cmd.sh" cmdScript}
Member

pkgs.writeShellApplication est approprié ici (pour avoir de l'analyse statique du script bash)

`pkgs.writeShellApplication` est approprié ici (pour avoir de l'analyse statique du script bash)
mdebray marked this conversation as resolved
@ -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
Member

Il me semble que mettre ça dans le state directory de upsmon (/var/lib/upsmon) évite d'avoir besoin des tmpfiles.

Il me semble que mettre ça dans le state directory de upsmon (`/var/lib/upsmon`) évite d'avoir besoin des tmpfiles.
Author
Member

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

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
Member

ok

ok
mdebray marked this conversation as resolved
lbailly force-pushed ups from ff6217f68e to 121903df7e 2024-04-20 00:52:07 +02:00 Compare
lbailly force-pushed ups from bfae550bc1 to 15af2e58ac 2024-04-20 15:07:14 +02:00 Compare
lbailly changed title from WIP: feat(ups): monitoring de l'onduleur to feat(ups): monitoring de l'onduleur 2024-04-20 15:08:58 +02:00
thubrecht requested changes 2024-04-20 17:50:29 +02:00
@ -0,0 +1,87 @@
{ pkgs, config, ... }:
Owner
{ config, lib, pkgs, ...}:

Le lib c'est pour le getExe d'ensuite

``` { config, lib, pkgs, ...}: ``` Le `lib` c'est pour le `getExe` d'ensuite
lbailly marked this conversation as resolved
@ -0,0 +2,4 @@
{
power.ups = {
enable = true;
ups."eaton" = {
Owner
ups.eaton = {
```diff ups.eaton = { ```
lbailly marked this conversation as resolved
@ -0,0 +7,4 @@
port = "auto";
};
upsmon.enable = false;
users."eatonMon" = {
Owner

Y'a pas besoin de quotes pour le username, et les majscules c'est chelou je mettrai eatonmon plutôt

Y'a pas besoin de quotes pour le username, et les majscules c'est chelou je mettrai `eatonmon` plutôt
Author
Member

Perso 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

Perso 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
lbailly marked this conversation as resolved
@ -0,0 +11,4 @@
passwordFile = config.age.secrets."eatonmon-password_file".path;
upsmon = "primary";
};
upsmon.monitor."eaton" = {
Owner

Pareil, pas besoin de quotes pour eaton

Pareil, pas besoin de quotes pour `eaton`
lbailly marked this conversation as resolved
@ -0,0 +46,4 @@
'';
};
rules = ''
CMDSCRIPT ${cmdScript}/bin/upssched-cmd.sh
Owner
CMDSCRIPT ${lib.getExe cmdScript}
``` CMDSCRIPT ${lib.getExe cmdScript} ```
lbailly marked this conversation as resolved
@ -0,0 +60,4 @@
in
(pkgs.writeTextFile {
name = "upssched.conf";
text = rules;
Owner

Tu peux inline les rules je pense, et le outPath n'est pas nécessaire

Tu peux inline les rules je pense, et le `outPath` n'est pas nécessaire
Author
Member

le outPath n'est pas nécessaire

il 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

> le `outPath` n'est pas nécessaire il est nécessaire car sinon ça évalue pas à cause de [`power.ups.schedulerRules`](https://search.nixos.org/options?channel=unstable&show=power.ups.schedulerRules&from=0&size=50&sort=relevance&type=packages&query=power.ups) qui demande un string et pas un path, donc la dérivation se transforme pas auto dans le bon type
thubrecht marked this conversation as resolved
mdebray requested changes 2024-04-20 20:42:42 +02:00
@ -0,0 +32,4 @@
*) MEANING="Signal unknown, check configuration.";;
esac
sendmail -i -t <<ERRMAIL
To: fai@dgnum.eu
Member

fai+monitoring@dgnum.eu plutôt

`fai+monitoring@dgnum.eu` plutôt
lbailly marked this conversation as resolved
lbailly force-pushed ups from d27cacd801 to 0abfe4d60b 2024-04-21 15:42:54 +02:00 Compare
thubrecht force-pushed ups from 0abfe4d60b to 1eea46b59f 2024-04-21 23:14:56 +02:00 Compare
thubrecht merged commit 1eea46b59f into main 2024-04-21 23:20:24 +02:00
thubrecht deleted branch ups 2024-04-21 23:20:24 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DGNum/infrastructure#97
No description provided.