.. -*- coding: utf-8 -*- :orphan: ===================== Introduction à Salt ===================== Introduction à Salt =================== Présentation de Salt -------------------- :: Its automation, infrastructure management, its data-driven orchestration, remote execution, configuration management, and so much more. -- saltproject.io C'est de l'automatisation, de la gestion de l'infrastructure, de l'orchestration gérée par les données, le la gestion de configuration et bien plus encore. Historique de Salt ------------------ * Début en février 2011 * Première release (``0.6.0``) en mars 2011 * *Si on a un bus de communication asynchrone suffisamment rapide, tout devient possible et scalable*. Salt a initialement été pensé pour ça - avec `ZeroMQ`_ (pub/sub + req/rep) au cœur de l'architecture de communication * Remplacement de Chef_ et Puppet_ (jugés trop complexes) - donc ajout de la gestion de configuration. * Suffisamment flexible pour que les modules / *add-ons* soient développés très rapidement. - Salt a "rattrapé" en quelques mois les écosystèmes de Chef_ et Puppet_ * Création de `SaltStack Inc.`_ en 2012, puis rachat par `VMware`_ en 2020. * Le projet libre se poursuit sur `saltproject.io`_ .. _`ZeroMQ`: http://zeromq.org/ .. _Chef: https://www.chef.io/chef/ .. _Puppet: https://puppet.com/ .. _`SaltStack Inc.`: https://saltstack.com/ .. _`VMware`: https://www.vmware.com/ .. _`saltproject.io`: https://saltproject.io/ Usages de Salt --------------- `Salt`: le *couteau suisse universel* de la gestion d'infrastructure : * **exécution distante asynchrone** * gestion de configuration centralisée * déploiement d'infrastructure à la demande * gestion de machines virtuelles * supervision et monitoring * gestion de cluster HPC (High Performance Computing) Communauté et utilisateurs -------------------------- Bon nombre d'utilisateurs *connus* : * VMWare, LinkedIn, HP, Wikipedia, RackSpace, IBM… * Harvard University * Kubernetes de Google Limitations ----------- * accès centralisé à vos serveurs * qui a accès au serveur `salt` dispose d'un accès sans limite à toute l'infrastructure - problème de tous les gestionnaires centralisés - possibilités de brider (ACLs) Organisation du projet logiciel =============================== Distributions -------------- *SaltStack Inc.* : - affichait une volonté de développer et publier tous ses projets sous licence libre (Apache), - ne souhaite pas adopter le principe du "opencore" (selon lequel certaines parties du code "avancées" sont propriétaires et payants), Distributions : Fedora, Ubuntu, Debian, CentOS, ArchLinux, OS X, Microsoft Windows, Oracle Solaris, *etc*. Le développement a lieu sur Github : https://github.com/saltstack/salt Les projets périphériques de *SaltStack Inc.* sont ici : https://github.com/saltstack/ Métriques logiciel libres ------------------------- Projet en logiciel libre "vraiment très actif" (lors de l'écriture du support) : * plus de 2300 contributeurs * plus de 12 000 étoiles sur GitHub * plusieurs centaines de *pull requests* en attente * Selon OpenHub https://www.openhub.net/p/salt * *"Very High Activity"* * ~ 101 contributeurs en 2021 * ~ 500 000 lignes de code * 97% Python * ~ 130 commits par mois Versions -------- * `Système de numérotation`_ - Historiquement : ``0.6.0 - 0.17.5`` - puis ``year.month.version`` (date-based semantic versioning) - *codename* issu du tableau périodique des éléments (Hydrogen, Helium, Lithium, etc.) + - depuis fin 2019, format ``major.patch`` avec début à 3000 * Version mars 2022 : `3004.1 Silicon `_ * Toutes les releases : https://docs.saltstack.com/en/latest/topics/releases/ * Prochaine version majeure : 3005 .. _`Système de numérotation`: https://docs.saltstack.com/en/latest/topics/releases/version_numbers.html Sécurité -------- - Publication d'un certain nombre de CVE *(Common Vulnerabilities and Exposures)* - ce qui veut d'abord dire que la communauté est attentive à ces problèmes de sécurité .. cf http://web.nvd.nist.gov/view/vuln/search-results?cpe=cpe%3A%2Fa%3Asaltstack%3Asalt%3A0.17.0&page_num=0&cid=2 - Exemple : clef faible générée jusqu'à la version 0.15.0 - D'après OpenHub, le nombre de vulnérabilités par version est en `décroissance constante depuis 2016`_ .. _`décroissance constante depuis 2016`: https://www.openhub.net/p/salt/security Support et documentation ======================== Support et documentation ------------------------ * Documentation : https://docs.saltstack.com/en/latest/ * Tutoriel (en anglais) : https://docs.saltstack.com/en/getstarted/ * Support : https://saltproject.io/contact/ * Support commercial : - VMware (USA) Médias ------ * Blogs : * https://saltproject.io/blog/ * http://salt-fr.afpy.org/ * Chaîne Youtube : * émission *Salt Air* (irrégulière mais recommandée) https://www.youtube.com/user/SaltStack * *playlist* établie par *SaltStack* des usecases "SaltStack Case Studies" * Vidéos des présentation de la SaltConf * Twitter https://twitter.com/SaltStackInc : Événements ---------- * Conférence annuelle SaltConf_ * Communauté française autour de Salt (*meetups*, *sprints*, etc.) https://www.meetup.com/fr-FR/Paris-Salt-Meetup/ .. _SaltConf: https://saltconf.com/ Cheatsheet ---------- * https://github.com/harkx/saltstack-cheatsheet * https://github.com/saltstack/salt/wiki/Cheat-Sheet * https://cheatsheets.ciscodude.net/saltstack.html