Automation Config inclut au moins quatre composants architecturaux, notamment le serveur RaaS, le plug-in master et deux bases de données centrales.
Le diagramme suivant présente les principaux composants de l'architecture Automation Config de base qui sont pertinents pour l'installation :
Masters Salt et plug-in master
Automation Config est optimisé par Salt, un système de gestion et d'automatisation de configuration open source.
Le master Salt constitue la connexion principale entre Automation Config et le reste des nœuds sur votre réseau (les serviteurs). Lorsque vous émettez une commande depuis Automation Config (telle qu'une tâche), la commande passe au master Salt pour distribution aux minions ciblés.
Automation Config peut se connecter à un master Salt ou à de nombreux masters selon les besoins de votre système. Pour que Automation Config communique avec un master Salt, vous devez installer le plug-in master sur le master Salt et accepter sa clé dans Automation Config. Le plug-in master permet au master Salt d'accéder aux tâches ou aux processus initiés par Automation Config. Le master Salt peut accéder aux fichiers externes et aux données de Pillar qui sont stockés sur la base de données PostgreSQL.
RaaS
RaaS (Returner as a Service) est le composant central de Automation Config. En fait, lorsque des personnes font référence à Automation Config, elles parlent souvent de RaaS.
RaaS fournit des points de terminaison RPC pour recevoir des commandes de gestion de l'interface utilisateur de Automation Config, ainsi que des points de terminaison de contrôle RPC pour l'interface avec des masters Salt connectés. Toutes les communications sont envoyées à l'aide d'appels d'API RPC sur WebSockets ou HTTP(s).
Interface utilisateur de Automation Config
L'interface utilisateur de Automation Config est une application Web qui fournit l'interface utilisateur graphique frontale pour RaaS. Bien que Automation Config soit principalement axé API, l'interface utilisateur est en interaction directe avec l'API (RaaS) pour permettre une gestion simple de tous les systèmes de votre environnement. Différents espaces de travail permettent aux utilisateurs de gérer des serviteurs, des utilisateurs, des rôles, des tâches, etc.
Bases de données
Base de données PostgreSQL
RaaS utilise une base de données PostgreSQL pour stocker des données de minion, des retours de tâche, des données d'événements, des fichiers et des données de Pillar, des comptes d'utilisateurs locaux, ainsi que d'autres paramètres pour l'interface utilisateur.
Base de données Redis
RaaS utilise une base de données Redis pour stocker certains types de données dans un stockage temporaire, comme les données mises en cache. Il utilise également le stockage de données temporaire pour distribuer le travail mis en file d'attente aux nœuds worker en arrière-plan.
Pour plus d'informations sur le fonctionnement de Salt, reportez-vous à la section Architecture du système Salt.