Automation Config incluye cuatro o más componentes arquitectónicos, incluidos el servidor de RaaS, el complemento principal y dos bases de datos centrales.
En el siguiente diagrama se muestran los componentes principales de la arquitectura básica de Automation Config que son relevantes para la instalación:
Maestros de Salt y el complemento principal
Automation Config utiliza Salt, un sistema de automatización y administración de la configuración de código abierto.
El maestro de Salt es la conexión principal entre Automation Config y el resto de los nodos de la red (los minions). Cuando se emite un comando desde Automation Config (como un trabajo), el comando pasa al maestro de Salt para su distribución a los minions de destino.
Automation Config pueden conectarse a un maestro de Salt o a tantos maestros como necesite el sistema. Para que Automation Config se comunique con un maestro de Salt, debe instalar el complemento principal en el maestro de Salt y aceptar su clave en Automation Config. El complemento principal permite al maestro de Salt acceder a trabajos o procesos iniciados por Automation Config. El maestro de Salt puede acceder a archivos externos y datos del pilar que se almacenan en la base de datos de PostgreSQL.
RaaS
RaaS, que significa regresador como servicio (Returner as a Service), es el componente central de Automation Config. De hecho, cuando algunas personas dicen Automation Config, a menudo se refieren a RaaS.
RaaS proporciona endpoints de RPC para recibir comandos de administración desde la interfaz de usuario de Automation Config, así como endpoints de control de RPC para interactuar con los maestros de Salt conectados. Toda la comunicación se envía mediante llamadas de la API de RPC a través de WebSockets o HTTP(s).
Interfaz de usuario de Automation Config
La interfaz de usuario de Automation Config es una aplicación web que proporciona el front-end de la interfaz de usuario gráfica para RaaS. Aunque Automation Config le da prioridad a la API, la interfaz de usuario interactúa directamente con la API (RaaS) para permitir la administración sencilla de todos los sistemas de su entorno. Las distintas áreas de trabajo proporcionan a los usuarios la capacidad de administrar minions, usuarios, funciones, trabajos y mucho más.
Bases de datos
Base de datos de PostgreSQL
RaaS utiliza una base de datos de PostgreSQL para almacenar datos de minions, devoluciones de trabajos, datos de eventos, archivos y datos del pilar, cuentas de usuario locales y otras configuraciones para la interfaz de usuario.
Base de datos de Redis
RaaS utiliza una base de datos de Redis para guardar ciertos tipos de datos en un almacenamiento temporal, como datos en caché. También utiliza almacenamiento de datos temporal para distribuir el trabajo en cola a los procesos de trabajo en segundo plano.
Para obtener más información sobre cómo funciona la Salt, consulte Arquitectura del sistema de Salt.