Salt (logiciel)
Salt ou SaltStack est un logiciel de gestion de configuration écrit en Python, fonctionnant sur le principe client-serveur. Salt a pour but de rendre la gestion de configuration simple mais flexible. Il s'agit d'une alternative à Puppet, Ansible et Chef. On utilise les langages informatiques YAML, Jinja2 et Python pour configurer Salt.
Pour les articles homonymes, voir Salt.
Développé par | Thomas S Hatch |
---|---|
Première version | |
Dernière version | 2019.2.2 (Fluorine) () |
Version avancée | Develop |
Dépôt | github.com/saltstack/salt |
Écrit en | Python |
Système d'exploitation | Type Unix |
Environnement | Linux, Unix, Windows |
Langues | Anglais |
Type | Gestionnaire de configuration |
Licence | Licence Apache |
Site web | saltproject.io |
Principes de fonctionnement
Pour utiliser Salt il faut installer deux services qui peuvent éventuellement être sur le même serveur :
- salt-master (le « master », le serveur) ;
- salt-minion (le « minion », le client).
Le « minion » identifie le « master » par son nom ou par son adresse IP. Le « master » identifie le minion par son nom d'hôte. La communication entre le serveur et les clients se fait après l'acceptation du « minion » par le « master » et après acceptation d'un échange de clés de chiffrement. Les minions peuvent ensuite être commandés par lot à l'aide de critères comme le système d'exploitation, une expression régulière sur le nom d'hôte, le type d'architecture, etc.
Les fichiers d'état, les « states », permettent de décrire une représentation de l'état dans lequel un serveur doit être. Ils sont écrits en YAML et portent l'extension .sls. Les fonctions d'état font fréquemment appel à un ou plusieurs modules d'exécution pour exécuter une tâche donnée.
Vocabulaire
- Pillar : Dictionnaire des variables
- States : Fichiers d'état, état dans lequel un serveur doit être
- Formula : Ensemble de States
- Grains : Informations que retournent les minions au master-salt.
La machine cliente SaltStack est appelé « minion », le serveur est appelé « master ».