# esgi-devops Contenus & ressources pour le cours de 4A de DevOps # Plan - 1 Introduction (c'est quoi le DevOps ? TP -> installation d'une VM NixOS) + rappels de base sur Linux / BONUS: présentation de nix-shell, nixos-rebuild - 2 Tests (unitaires & integrations, TP -> utilisation de pytest, hypothesis) + utilisation de nix-env et direnv (change vos variables d'env de votre shell en fonction du dossier dans lequel vous vous trouvez) => utilise Nix pour installer l'ensemble des dépendances de dev requise !! (pratique pour les illustrations / TPs) - 3 Deploiements (TP -> déployer un site static dans une machine NixOS / Debian 9 avec Fabric) + BONUS: Terraform sur t2.macro AWS (gratuit), NixOps ... en cas de pépin ~> ngrock !! - 4 Containers (Docker & autres) - 5 Haute Disponibilité (autoscaling) --- # 🕸️ DevOps with NixOS Contenus & ressources pour le cours de 4A de DevOps ## ProTip Nix ™ [Search options](https://nixos.org/nixos/options.html#) (chercher des options de module Nix à utiliser prêt à l'emploi, le système expert ™) [Search code](https://search.nix.gsc.io/) (lire du code qui fait un truc, genre "matomo" et voir comment c'est impléménté; lire la doc de la lib standard) [Package search](https://nixos.org/nixos/packages.html) (chercher des pkg à installer) [NixOS Infra Status](https://status.nixos.org/) (pour voir s'il y a des trucs kassé) ["How up to date are NixOS channels?"](https://howoldis.herokuapp.com/) (pour voir à quel point master de nixpkgs lag derrière) [Useful Nix Hacks](http://chriswarbo.net/projects/nixos/useful_hacks.html) (super useful pour le coup) [Nix in 1 page](https://github.com/tazjin/nix-1p) (cheatsheet du langage) [A tour of Nix](https://nixcloud.io/tour/) (jeu emscripten du langage où tu as des exercices de trucs à faire, très rapide à faire) [Pull Requests · NixOS/rfcs](https://github.com/NixOS/rfcs/pulls) (parce que c'est important de savoir comment ça évolue) ## Vidéo [cirocosta/asciinema-edit](https://github.com/cirocosta/asciinema-edit) [untitled](https://asciinema.org/a/jikcJpkl09MoakqkYFTBGfakT) [](https://clbin.com/uFXdw) [https://www.youtube.com/watch?v=Q4WUCRkM_I8](https://www.youtube.com/watch?v=Q4WUCRkM_I8) [https://www.youtube.com/watch?v=ZxD3LMPl5_4](https://www.youtube.com/watch?v=ZxD3LMPl5_4) [https://www.youtube.com/watch?v=95Zs95HXFS4](https://www.youtube.com/watch?v=95Zs95HXFS4) ## Cool env [Install Nix](https://nixos.org/guides/install-nix.html) [Zsh](https://grml.org/zsh/) [Starship: Cross-Shell Prompt](https://starship.rs/guide/#🚀-installation) ## Network [ngrok - download](https://ngrok.com/download) ## TDD [pytest-cov](https://pypi.org/project/pytest-cov/) ## Deployment [](https://clbin.com/wwgTu) [Fabric](https://docs.fabfile.org/en/2.5/api/transfer.html?highlight=put#fabric.transfer.Transfer.put) [Fabric](http://www.fabfile.org) ## Reproducible [Is NixOS Reproducible?](https://r13y.com) [Reproducible Builds](https://wiki.archlinux.org/index.php/Reproducible_Builds) [Projects · Reproducible Builds / disorderfs](https://salsa.debian.org/reproducible-builds/disorderfs) ## Docker [Docker](https://nixos.wiki/wiki/Docker) ### Issues [Computational overhead due to Docker under macOS](https://lemire.me/blog/2020/06/19/computational-overhead-due-to-docker-under-macos/) [Docker daemon is leaking file descriptors (with reproduction) · Issue #37182 · moby/moby](https://github.com/moby/moby/issues/37182) [the container's netns fds leak, causing the container netns to not clean up successfully after the container stops · Issue #41136 · moby/moby](https://github.com/moby/moby/issues/41136) [[Windows] mounted volumes behave differently · Issue #41121 · moby/moby](https://github.com/moby/moby/issues/41121) ## ☹️ [CoreOS](https://coreos.com/rkt/docs/latest/) [README and Docs need to state that RancherOS is dead · Issue #3000 · rancher/os](https://github.com/rancher/os/issues/3000) ### Better than Docker [Firejail](https://wiki.archlinux.org/index.php/firejail) [Lightweight Kubernetes](https://k3s.io) [Dokku](http://dokku.viewdocs.io/dokku/) [Docker 19.03: Rootless Mode (Experimental) | Hacker News](https://news.ycombinator.com/item?id=20542915) [google/nixery](https://github.com/google/nixery) ## IaC [Install Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli) [Chef: Enabling the Coded Enterprise through Infrastructure, Security and Application Automation](https://www.chef.io) [Powerful infrastructure automation and delivery | Puppet](https://puppet.com) [Ansible is Simple IT Automation](https://www.ansible.com)