Hlavní navigace

Názor ke článku Sněhová vločka na mojem serveru od mprasil - Agenix poznam, je to celkom dobre riesenie, ale...

  • 22. 2. 2024 10:58

    mprasil

    Agenix poznam, je to celkom dobre riesenie, ale proste nix principialne riesi niektore veci inak a dosledok toho je ze je praca s credentials obcas vyrazne zlozitejsia alebo vyzaduje nie celkom idealne riesenie.

    Napriklad Tailscale. V Ansible je pomerne jednoduche pocas aplikovania konfiguracie vygenerovat docasny auth key - kludne s platnostou par minut a pri konfiguracii servera ho automaticky registrovat v tailnet. Vysledok je server ktory je automaticky pripojeny do VPN bez toho aby server samotny musel mat niekde ulozeny auth key alebo dokonca bez toho aby vobec nejaky platny auth key po ukonceni ansible existoval.

    Naproti tomu nixos toto riesi tak, ze ma extra systemd service ktory vykona tailscale up a ten kluc je potom vo vysledku potrebny priamo na stroji. Tiez je velmi neprakticke aby to bol nejaky short-lived token, pretoze agenix tak proste nefunguje. Cize vo vysledku je na serveri dlhodobo platny token.

    Agenix je dobry na situacie kedy je cielom aby samotne hesla boli priamo niekde na serveri a aj tam si dovolim tvrdit, ze je to extremne kostrbate riesenie v porovnani s Ansible - napriklad ak jeden potrebuje vlozit heslo do konfiguracneho suboru. To co sa v ansible riesi pomerne priamociarym (a velmi flexibilnym) template systemom musi jeden s Agenix riesit rucne.

    A takychto prikladov je vela.

    Okrem Agenix je vela dalsich rieseni a v podstate vsetky obchadzaju nix nejakym sposobom - casto sposobom kedy je velmi lahke omylom mat secrets roztrusene niekde v nix store alebo commitnute plaintext v gite.

    Na druhej strane su veci ktore su v Ansible extremne zlozite, zatial co v Nix je to trivialna zalezitost. Cize netvrdim, ze je jedno lepsie ako druhe, obe pouzivam (aj v kombinacii) ale konkretne sprava hesiel a inych tajnych udajov mi pride v nixe vyrazne zlozitejsia.