O Automation Config inclui quatro ou mais componentes arquitetônicos, incluindo o servidor RaaS, o Master Plugin e dois bancos de dados centrais.
O diagrama a seguir mostra os principais componentes da arquitetura Automation Config básica que são relevantes para a instalação:
Mestres Salt e o Master Plugin
O Automation Config conta com a tecnologia Salt, um sistema de automação e gerenciamento de configuração de código aberto.
O mestre Salt é a principal conexão entre o Automation Config e o restante dos nós na sua rede (os subordinados). Quando você emite um comando do Automation Config (como um trabalho), esse comando segue para o mestre Salt para distribuição aos subordinados direcionados.
O Automation Config pode se conectar a um ou vários mestres Salt, conforme necessário no seu sistema. Para que o Automation Config se comunique com um Mestre Salt, você deve instalar o Master Plugin no Mestre Salt e aceitar sua chave no Automation Config. O Master Plugin permite que o Mestre Salt acesse trabalhos ou processos iniciados pelo Automation Config. O Mestre Salt pode acessar arquivos externos e dados de pilares armazenados no banco de dados PostgreSQL.
RaaS
RaaS, que significa "Returner as a Service", é o componente central do Automation Config. De fato, quando algumas pessoas se referem ao próprio Automation Config, elas frequentemente estão falando sobre o RaaS.
O RaaS fornece endpoints de RPC para receber comandos de gerenciamento da interface de usuário do Automation Config, bem como endpoints de controle de RPC para fazer interface com mestres Salt conectados. Toda a comunicação é enviada usando chamadas de API RPC via WebSockets ou HTTP(s).
Interface do usuário do Automation Config
A interface de usuário do Automation Config é um aplicativo Web que fornece o front-end de interface gráfica de usuário para o RaaS. Embora o Automation Config seja predominantemente operado via API, a interface de usuário se comunica diretamente com a API (RaaS) para permitir o gerenciamento simples de todos os sistemas no seu ambiente. Diferentes espaços de trabalho oferecem aos usuários a capacidade de gerenciar subordinados, usuários, funções, trabalhos e muito mais.
Bancos de dados
Banco de dados PostgreSQL
O RaaS usa um banco de dados PostgreSQL para armazenar dados de subordinados, retornos de trabalhos, dados de eventos, arquivos e dados de pilares, contas de usuário locais e outras configurações para a interface do usuário.
Banco de dados Redis
O RaaS usa um banco de dados Redis para manter determinados tipos de dados no armazenamento temporário, como dados armazenados em cache. Ele também usa o armazenamento de dados temporário para distribuir trabalhos em fila entre trabalhadores em segundo plano.
Para obter mais informações sobre como o Salt funciona, consulte Arquitetura do sistema Salt.