Secret

Definizione rapida

Dato sensibile, come una password o un token, fornito a build o runtime tramite un canale dedicato.

Spiegazione

Un secret deve restare separato dal codice e dall'immagine finale. Durante una build può essere montato soltanto per l'istruzione che ne ha bisogno, senza inserirlo in `ARG`, `ENV`, layer o repository.

Esempio pratico

BuildKit monta temporaneamente una credenziale per scaricare un pacchetto privato e la rimuove al termine del comando.

Spiegazione tecnica

I secret mount e gli SSH mount espongono il dato al processo nel momento necessario. Il controllo degli accessi e la rotazione restano responsabilità del sistema che fornisce il secret.

Da non confondere con

Una variabile d'ambiente è una configurazione visibile al processo e può finire nei metadati o nei log; non è automaticamente un canale sicuro per un secret.