Grazie per aver inviato la tua richiesta! Uno dei nostri team membri ti contatterà a breve.
Grazie per aver inviato il tuo prenotazione! Uno dei nostri team membri ti contatterà a breve.
Struttura del corso
Sovranità del sistema dichiarativo
- Il motivo per cui i metodi di configurazione imperativi portano a discrepanze e difficoltà nell'audit.
- Lo store Nix, le derivazioni e le funzioni pure utilizzate nella costruzione del sistema.
- NixOS contro le distribuzioni tradizionali: immutabilità e aggiornamenti atomici.
Installazione e nozioni di base
- Procedura di installazione di NixOS da ISO, con partizionamento manuale o automatico.
- Il linguaggio Nix: insiemi, funzioni ed importazioni.
- Struttura e sistema dei moduli in configuration.nix.
- Ricerca di pacchetti e opzioni mediante nix search o le pagine man.
Gestione di pacchetti e servizi
- Installazione di pacchetti a livello di sistema o per utente singolo tramite nix-env.
- Abilitazione dei servizi systemd in modo dichiarativo.
- Personalizzazione e sovrascrizione delle definizioni di pacchetto attraverso gli overlay.
- Gestione della raccolta dei dati non utilizzati e ottimizzazione dello store Nix.
Ambienti riproducibili
- Utilizzo di nix-shell e shell.nix per ambienti di sviluppo ad hoc.
- I Flakes Nix come strumento per garantire la riproduzione dei risultati in ogni contesto.
- devenv e devshell per facilitare l'integrazione del team nel progetto.
- Integrazione con Direnv per il passaggio automatico tra diversi ambienti.
Distribuzione in remoto
- NixOps e Colmena come strumenti gestionali per gestire numerose macchine simultaneamente.
- Configurazione della costruzione di pacchetti in ambienti remoti e della cache binaria.
- Gestione dei segreti mediante agenix e sops-nix.
- Verifica delle distribuzioni tramite macchine virtuali e container NixOS.
Aggiornamenti e rollback del sistema
- Il comando nixos-rebuild con le modalità switch, test e boot.
- Ripristino rapido a una generazione precedente in caso di problemi.
- Gestione dei canali Nix per ottenere aggiornamenti prevedibili ed identici.
- Recupero d'emergenza del sistema e configurazione del bootloader.
Argomenti avanzati
- I contenitori NixOS e l'uso della virtualizzazione leggera.
- Compilazione incrociata di pacchetti per architetture diverse, incluso ARM.
- Creazione personalizzata di immagini ISO o netboot.
- Utilizzo di Hydra per l'integrazione continua dei pacchetti Nix.
Requisiti
- Conoscenze avanzate di amministrazione dei sistemi Linux e di scripting in shell.
- Comprensione di base dei concetti della programmazione funzionale.
- Familiarità con Git e con i flussi di lavoro basati su configurazioni versionate.
Destinatari del corso
- Ingegneri delle infrastrutture che cercano sistemi dichiarativi e riproducibili.
- Team DevOps intenzionati a sostituire strumenti come Ansible, Puppet o Chef con Nix.
- Organizzazioni che necessitano di deploy identici in ogni ambiente, senza variazioni significative.
21 ore