Contattataci

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

Numero di Partecipanti


Prezzo per partecipante

Corsi in Arrivo

Categorie relative