Contattataci

Struttura del corso

Sovranità del sistema dichiarativo

  • Perché la gestione della configurazione imperativa porta a deriva e al fallimento delle verifiche.
  • Nix store, derivations e funzioni pure per la costruzione del sistema.
  • NixOS rispetto alle distribuzioni tradizionali: immutabilità e aggiornamenti atomici.

Installazione e nozioni di base

  • Installazione di NixOS da ISO con partizionamento manuale e automatizzato.
  • Il linguaggio Nix: insiemi, funzioni e importazioni.
  • Struttura di configuration.nix e sistema dei moduli.
  • Ricerca di pacchetti e opzioni tramite nix search e le pagine man.

Gestione dei pacchetti e dei servizi

  • Installazione dei pacchetti a livello di sistema o per utente con nix-env.
  • Abilitazione dichiarativa dei servizi systemd.
  • Override personalizzati dei pacchetti e overlays.
  • Cancellazione spazzatura e ottimizzazione dello store.

Ambienti riproducibili

  • nix-shell e shell.nix per lo sviluppo ad hoc.
  • Nix Flakes per la riproducibilità basata su file di blocco.
  • devenv e devshell per l'onboarding del team.
  • Integrazione con Direnv per il cambio automatico dell'ambiente.

Distribuzione remota

  • Gestione dei flotta di macchine con NixOps e Colmena.
  • Compilazione remota e configurazione della cache binaria.
  • Gestione dei segreti con agenix e sops-nix.
  • Test di distribuzione con VM e contenitori NixOS.

Aggiornamenti del sistema e rollback

  • nixos-rebuild nelle modalità switch, test e boot.
  • Rollback atomico alle generazioni precedenti.
  • Gestione dei canali e bloccaggio per aggiornamenti riproducibili.
  • Ripristino di emergenza e configurazione del bootloader.

Argomenti avanzati

  • Contenitori NixOS e virtualizzazione leggera.
  • Cross-compilation e build per ARM.
  • Generazione di immagini ISO personalizzate e netboot.
  • Integrazione continua Hydra per i pacchetti Nix.

Requisiti

  • Esperienza avanzata nella gestione dei sistemi Linux e nello scripting della shell.
  • Conoscenza fondamentale dei concetti della programmazione funzionale.
  • Familiarità con Git e con flussi di lavoro di configurazione basati sul controllo delle versioni.

Pubblico obiettivo

  • Ingegneri delle infrastrutture alla ricerca di sistemi dichiarativi e riproducibili.
  • Team DevOps che intendono sostituire Ansible, Puppet o Chef con Nix.
  • Organizzazioni che richiedono implementazioni esatte e bit per bit riproducibili.
 21 ore

Numero di Partecipanti


Prezzo per partecipante

Corsi in Arrivo

Categorie relative