!OHimLTKAXNbFrEoogf:matrix.org

Nix Milan

107 Members
https://milano.nix.pizza/7 Servers

Load older messages


SenderMessageTime
27 Oct 2025
@telegram_7189191315:t2bot.iogeckoIl segreto non deve finire mai in chiaro da nessuna derivation chiaramente, questa è la cosa importante. Per quello pensavo di usare agenix. Se agenix me lo mette in una qualche path noto fuori da /nix/store o in una variabile d'ambiente a me va bene, poi m'arrangio.14:40:39
@telegram_7189191315:t2bot.iogecko
In reply to Andrea Ciceri
Lo script eseguito come activation script si aspetta che l'host abbia le chiavi ssh giuste per decriptare i segreti ma non puo' saperlo quando nix valuta e builda le derivazioni. Quindi magari il sistema parte e tutto pero' mancano i segreti dentro /run/agenix e i servizi che li cercano falliscono quindi
Non mi è chiaro come funzioni l'"activation script", ma mi pare che alla fine l'assenza delle chiavi SSH sia un'impurità che in questo caso giocherebbe esattamente a mio favore. Nel senso che il fatto che tu la abbia o no non finisce nell'hash della derivation.
14:39:13
@telegram_7189191315:t2bot.iogecko
In reply to Andrea Ciceri
Comunque, per curiosita', che derivazione stai buildando a cui serve un segreto? Magari c'e' un modo piu' pulito di gestire la cosa. Altrimenti concordo con @steinuil, non credo si possa fare altro...

Perche' comunque va bene introdurre una impurita' nella sandbox per leggere il segreto ma poi l'output finale nella derivazione non contiene piu' in nessun modo il segreto? Chiedo perche' senno' cosi' sei da capo
Diciamo che ho un """compilatore""" closed di cui pago la licenza. Io vorrei che la CI lo possa usare, ma gli utenti no. Gli utenti devono però essere in grado di tirare giù dalle cache binarie delle derivation che hanno usato quel compilatore.
14:37:10
@telegram_32436951:t2bot.ioDavidma il compilatore deve avere il segreto nella derivation o può leggerlo da una variabile d'ambiente o da un file fuori dal nix store?14:39:41
@telegram_7189191315:t2bot.iogecko Sì ma popolare a mano il nix store fa schifo :P 14:52:40
@telegram_7189191315:t2bot.iogeckoCome no?14:49:53
@telegram_32436951:t2bot.ioDavid @gecko4242 metti un attimo da parte nix. come faresti senza? Se il segreto può essere messo in una variabile d'ambiente e ti serve in CI, usere lo strumento della CI 14:44:42
@telegram_7189191315:t2bot.iogeckoAaaaah sad14:52:01
@telegram_7189191315:t2bot.iogeckoMa quindi agenix può solo rendere disponibili dei segreti a runtime (e.g., in un servizio systemd su nixos), non li rende disponibili in builder. Corretto?14:51:45
@telegram_7189191315:t2bot.iogeckoMa perché fare una build impura quando potrei usare agenix 🤔14:49:14
@telegram_463188749:t2bot.ioAlessandro Candido (Secondo me) agenix e' solo piu' comodo che doverlo fare a mano e gestirsi i path e le chiavi. Cosi' almeno quella parte rimane tutta dichiarativa, e ti committi i segreti cifrati su un repo 14:56:45
@telegram_463188749:t2bot.ioAlessandro CandidoSe non vuoi che la licenza sia world-readable, allora devi avere un input esterno, e quindi diventa impuro14:51:32
@telegram_41776856:t2bot.ioMarco Turchetto Si ma lo fa a runtime non a build time, non sarebbe tanto diverso da chiamare sops age all'interno del tuo build script 14:54:30
@telegram_463188749:t2bot.ioAlessandro Candido Anche se per il file alla fine usassi agenix 14:51:42
@telegram_7189191315:t2bot.iogeckoagenix non mette le cose nello store AFAIU14:53:08
@telegram_463188749:t2bot.ioAlessandro CandidoCredo che la build impura serva a prescindere14:50:12
@telegram_32436951:t2bot.ioDavidperché quello che viene passato al builder non è segreto14:49:34
@telegram_7189191315:t2bot.iogeckoSì, ma il builder mi filtra via le variabili d'ambiente, no? Also, se voglio dare accesso a più persone al compilatore closed mi pare più pulito usare agenix.14:46:49
@telegram_463188749:t2bot.ioAlessandro CandidoTipicamente, per i servizi che hanno bisogno di un segreto, gli dai il path del file dove trovarlo14:52:16
@telegram_7189191315:t2bot.iogeckoEh infatti non capivo, ora ha senso14:53:42
@telegram_463188749:t2bot.ioAlessandro CandidoNel senso che una derivazione pura deve essere completamente riproducibile. Per cui hai bisogno di mettere nello store anche il compilatore e la licenza14:51:03
@telegram_463188749:t2bot.ioAlessandro CandidoEsatto14:51:55
@telegram_32436951:t2bot.ioDavid
il builder mi filtra via le variabili d'ambiente, no?
questo perché vuoi usare il compilatore da nix build? devi fare una build impura in quel caso
14:48:33
@telegram_32436951:t2bot.ioDavidmetti il file con il segreto in chiaro nel nix store. Funziona eh, ma magari non lo vuoi, dipende chi e cosa accede allo stesso store14:55:36
@telegram_463188749:t2bot.ioAlessandro Candido Secondo me agenix puo' essere comunque utile, per strutturare la gestione del segreto, e la condivisione con altri 14:53:13
@telegram_906592699:t2bot.ioAlex0Ha senso se è in una repo pubblica14:47:39
@telegram_906592699:t2bot.ioAlex0È lo stesso modo in cui tipo mathlab viene installato su nix Se hai il binario, puoi caricarlo sullo store e poi usarlo nelle tue derivazioni14:46:16
@telegram_906592699:t2bot.ioAlex0Isn't this the case?14:46:59
@telegram_906592699:t2bot.ioAlex0Dipende dal context su dove viene runnato/buildato14:49:28
@telegram_906592699:t2bot.ioAlex0Se è privata fai quello che vuoi14:47:46

Show newer messages


Back to Room ListRoom Version: 10