zulip #463
Labels
No labels
awaiting
awaiting-author
awaiting
awaiting-reviewer
bot
deployed
Silenced alert
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
5 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: DGNum/infrastructure#463
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "zulip"
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?
929c74fdbe
to68b3b6c5f5
68b3b6c5f5
to62606dacbf
62606dacbf
to90f4b1626c
90f4b1626c
toe55e5517e1
9a820cdc54
to710f0b32ce
710f0b32ce
to3896a2db5e
3896a2db5e
to22790f35cc
a4f8a585d1
toa0bbfaa8d4
a0bbfaa8d4
to1ef1756991
31e0a4b64b
to2f482df2f8
4502f3fea1
to1c1ff20132
1c1ff20132
toea6938bd1e
ea6938bd1e
toa9c671f599
be0517d0ec
to0cd9f758b1
0cd9f758b1
to9c51063cf6
9c51063cf6
to7d7af1d083
b281ebad84
to9c73a224cd
9c73a224cd
tob4f6cc9819
b4f6cc9819
to112c6681b3
112c6681b3
to907b1e8002
907b1e8002
to81cf6c77c8
81cf6c77c8
tobff860294b
bff860294b
tob7a6e4ff48
b7a6e4ff48
to19dadae8cb
19dadae8cb
to9ae1d59003
9ae1d59003
tof6f0cd1b5c
Depends on #526
f6f0cd1b5c
tob2f8625bed
b2f8625bed
to359367a221
359367a221
to78eab73e47
78eab73e47
toc214d226d6
c214d226d6
to7675e54daf
7675e54daf
to68d82c4ff6
68d82c4ff6
tobb5f33e53f
bb5f33e53f
to8a4429db44
Pour commencer, j'ai pas encore check le module
@ -0,0 +63,4 @@
+) -> Any: ...
+@overload
+def get_secret_json(key: str, default_value: Any, development_only: bool = False) -> Any: ...
+def get_secret_json(
triple overload ?
J'ai copié collé une autre fonction de upstream. Je trouve ça bien de follow les conventions de upstream
@ -0,0 +94,4 @@
- print("Mobile Push Notification Service registration successfully transferred.")
+ print("Success! Here are the received credentials:")
+ print(f"Org id: {org_id!r}")
+ print(f"Org id: {org_key!r}")
f"Org key: {org_key!r}"
@ -0,0 +15,4 @@
let
python =
(python312.override {
packageOverrides = lib.composeManyExtensions [
composeManyExtensions
sert pas si tu as qu'un overlay@ -0,0 +1,21 @@
# SPDX-FileCopyrightText: 2025 Maurice Debray <maurice.debray@dgnum.eu>
ce fichier n'est importé nul part, et ça logique est intégré dans
pkgs/overlay.nix
.@ -0,0 +48,4 @@
];
preBuild = ''
ls -lah
reste de debug ig, je pense qu'on peut del
8a4429db44
to8b61cdd903
Il y a un peu de nitpick j'avoue
@ -0,0 +1,54 @@
<!--
C'est à jour et toujours d'actualité ?
@ -0,0 +7,4 @@
cfg = config.services.zulip;
in
{
config = lib.mkIf cfg.enable {
Même pour les petit fichier comme celui là, je serai d'avis de quand même faire
inherit (lib) mkIf
@ -0,0 +6,4 @@
./nginx.nix
./camo.nix
./memcached.nix
./nginx.nix
nginx.nix
est importé deux fois@ -0,0 +11,4 @@
./rabbitmq.nix
./redis.nix
./zulip.nix
];
Ordre alphabétique si c'est pas dérangeant
@ -0,0 +1,78 @@
# SPDX-FileCopyrightText: 2025 Maurice Debray <maurice.debray@dgnum.eu>
Je maîtrise pas du tout NixOsTest, mais se serai peut-être bien de call ce fichier quelque part, par ex en CI
Je propose de laisser ça à une followup. De toute façon le check est pas assez fort imo
@ -0,0 +15,4 @@
mkOption
mkEnableOption
mkPackageOption
;
De manière générale, nos autres modules font
si on peut garder une certaine unité là dessus je pense que c'est pas mal
@ -0,0 +16,4 @@
mkEnableOption
mkPackageOption
;
inherit (builtins) toString;
il me semble pas que se soit utile de faire ça pour
toString
.@ -0,0 +41,4 @@
types.attrsOf valueType;
generate =
name: value:
pkgs.callPackage (
opinion perso, mais je trouve ça bizarre de faire un
callPackage
pour ça, juste fait intervenirpkgs
?@ -0,0 +54,4 @@
black
];
value = builtins.toJSON value;
pythonGen = ''
Alors, c'est ptet moi qui a trop tendance à éviter d'utiliser des outils externe, mais j'ai l'impression que ce script se réécrit très bien avec un
concatMapAttrsStringSep
d'une fonction pas trop complexewon't fix (discuté irl)
@ -0,0 +121,4 @@
]
++ lib.optional (cfg.orgKeyFile != null) "zulip_org_key:${cfg.orgKeyFile}"
++ lib.optional (cfg.orgIdFile != null) "zulip_org_id:${cfg.orgIdFile}"
++ lib.mapAttrsToList (key: path: "${key}:${path}") cfg.extraSecrets;
tu peut rajouter
optional
etmapAttrsToList
auinherit (lib)
du début.@ -0,0 +145,4 @@
};
uwsgiPackage = mkOption {
type = types.package;
default = pkgs.uwsgi.override {
Pour ce genre de type d'option, un
defaultText
produit une doc moins foireuse.@ -0,0 +302,4 @@
};
config = lib.mkIf cfg.enable {
services.zulip = {
zulipSettings = {
tu peux pas mettre
default = { };
dans la déclaration de l'option ?@ -0,0 +354,4 @@
serviceConfig = {
User = "zulip";
Group = "zulip";
ExecStartPre = lib.getExe zulipInit;
comme un peu plus haut,
getExe
dans leinherit (lib)
@ -0,0 +392,4 @@
inherit LoadCredential;
# TODO: Hardening
};
tu peux factoriser une bonne partie des options de
serviceConfig
, genreUser
,Group
,inherit LoadCredential
,WorkingDirectory
...8b61cdd903
to20e93e2489
20e93e2489
toeecc7a394e
eecc7a394e
to232e454a6b
232e454a6b
tobee0649354
fecedf3b28
toacf3332260
acf3332260
to3ff0093ffc
3ff0093ffc
toe66c26693c
e66c26693c
tod28eff4321
d28eff4321
to443cc9a35c
443cc9a35c
tob44d8aa775
b44d8aa775
toffe3911447
ffe3911447
to46c48c053c
46c48c053c
toc23a49b87b
ae9d67f6e4
to5dd630c516
267bacabb4
to68d18b2be2
68d18b2be2
to3e7b3092ee
3e7b3092ee
to7f4bc5ccc2
7f4bc5ccc2
to5407f2947a
195b34d086
to9291064c29
9291064c29
toa7db755201
à peu près que du styling
@ -0,0 +16,4 @@
];
extraConfig = {
# Disable monitoring
Le comment est mal placé, et se serai pas mal d'avoir du monitoring
@ -12,11 +12,15 @@ lib.extra.mkConfig {
enabledServices = [
# List of services to enable
# "zulip"
faudrait pas juste kill la vm ?
@ -98,0 +112,4 @@
}
];
gateways = [ "2001:41d0:305:2100::1" ];
DHCP = "ipv4";
on fait du DHCP avec ip fixe ?
ça peut être le cas pour retrieve les autres informations via DHCP (par exemple la gateway)...
mais bon on peut ajouter la gateway à la main puisqu'elle risque de ne pas changer
Je sais plus exactement mais c'est grossomodo le setup par défaut traduit en nix iirc mais je me trompe peut-être
@ -98,0 +117,4 @@
};
};
hostId = "22297231";
netbirdIp = null;
dans external01/_configuration, tu as activé netbird
@ -150,0 +146,4 @@
recommendedOptimisation = lib.mkDefault true;
recommendedProxySettings = lib.mkDefault true;
recommendedTlsSettings = lib.mkDefault true;
recommendedZstdSettings = lib.mkDefault true;
Tu peux ajouter mkDefault dans le inherit au début
@ -0,0 +22,4 @@
};
systemd.services.postgresql.postStart = lib.mkAfter ''
# $PSQL -tAc "SELECT 1 FROM information_schema.schemata WHERE schema_name='zulip'" zulip | grep -q 1 || $PSQL -tAc 'CREATE SCHEMA zulip AUTHORIZATION zulip;' zulip
Si ça sert plus on peu suppr la modif du postStart
@ -0,0 +314,4 @@
description = "Extra secrets to pass to zulip. These secrets will be passed to the python processes through loadcredentials. One can access them using `get_secret` function from `zproject.config` module";
};
};
config = lib.mkIf cfg.enable {
le mkIf peut aller dans le inherit au début
@ -0,0 +386,4 @@
};
};
}) queues)
++ lib.singleton {
singleton aussi
@ -3,1 +3,4 @@
# SPDX-License-Identifier: EUPL-1.2
{
sources ? import ../lon.nix,
}:
Si on fait que le rajouter l'argument, c'est qu'il sert à rien
a7db755201
tocf1c4c4b28
cf1c4c4b28
toaa89195ea9
3610cd86d7
to99aa794682
99aa794682
to43241110c3
43241110c3
to9263db5d36
9263db5d36
to1db05991ec
1db05991ec
to226daeb700
226daeb700
tobea68cd215
bea68cd215
to7c8571dcaf
7c8571dcaf
toa948cf6426
a948cf6426
toa1dabb1900
a1dabb1900
to069b00f251
069b00f251
tof34f0e43a0
f34f0e43a0
to3fb7c3a48d
793032b6b3
tobb6a5ffab3
bb6a5ffab3
to53a19e2bdc
53a19e2bdc
to4834047e7d
4834047e7d
to3fb7c3a48d
3fb7c3a48d
tofbd09ecb3a
fbd09ecb3a
to2067049b3b
2067049b3b
to22f2926345
22f2926345
toef092a5a06
ef092a5a06
toca4d4fe89e
ca4d4fe89e
to6971033825
6971033825
toed21c7e025
88757933bc
tod52b6330ae
d52b6330ae
tod242ce8bea
d242ce8bea
to042769dd05
042769dd05
toa9f67776b3
a9f67776b3
to3693e69f53
3693e69f53
to221c0e9b8d
eec026c187
to221c0e9b8d
221c0e9b8d
tod9ebde5afa
d9ebde5afa
to0cfd8b2191
0cfd8b2191
tob83895bcc4
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.