Ahoj,
On 11/1/23 12:25, Tomáš Kuča wrote:
mám na VM nixos-unstable, po poslední aktualizaci mi
nenaběhne nix-serve
(VM 16201). V žurnálu je chyba:
|nix-serve.service: Failed to set up credentials: Protocol error
nix-serve.service: Failed at step CREDENTIALS spawning
/nix/store/g5jgqgf01gsiya5im563952qlbk21028-unit-script-nix-serve-start/bin/nix-serve-start:
Protocol error |
Neřešil jste to někdo?
------------------------------------------------------------------------
V konfiguraci nic zvláštního nemám, secrets nahrávám pomocí |sops-nix | :
|services.nix-serve = { enable = true; secretKeyFile =
config.sops.secrets.cache-sig-key.path; }; |
V |nix-serve.service | je
|DynamicUser=true
LoadCredential=NIX_SECRET_KEY_FILE:/run/secrets/cache-sig-key |
Problém je zřejmě s právy, pokud příkaz v |ExecStart | spustím jako
root, nix-serve naběhne. Vlastníkem klíče je root:
|-r-------- 1 root root 102 1. lis 11.25 /run/secrets/cache-sig-key |
Předpokládám, že to rozbila aktualizace systemd, ve verzi 253 to projde,
ve verzi 254 (254.3) už ne. V měsíc staré, ještě neaktualizované VM to
běží, se stejnou konfigurací a právy. Našel jsem
https://github.com/NixOS/nixpkgs/issues/157449 a Zkoušel jsem nastavit
|rshared | pro |/run | , beze změny.
Zkouším, jestli už na to někdo nenarazil, než začnu zkoumat, jak to celé
funguje pod pokličkou.
Našel jsem k tomu issue od @jtojnar:
https://github.com/NixOS/nixpkgs/issues/258371
Blokuje to náš AppArmor profil. Zkoušel jsem ten profil upravit, ale buď
něco přehlížím nebo nevím. AppArmor postupně opouštíme, po rebootu nodu
už nebude aktivní. Za běhu to bohužel vypnout nejde, takže s tím nic
neudělám. Můžu ti nabídnout přesun na node22.prg, kde už AppArmor není.
Zkoušel jsem to a nix-serve bez něj funguje.
Jakub