O SaltStack 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 SaltStack Config básica que são relevantes para a instalação:
Mestres Salt e o Master Plugin
O SaltStack Config conta com a tecnologia Salt, um sistema de automação e gerenciamento de configuração de código aberto. Se você ainda não tem experiência com o Salt e não está familiarizado com o seu funcionamento, consulte Arquitetura do sistema Salt.
O mestre Salt é a principal conexão entre o SaltStack Config e o restante dos nós na sua rede (os subordinados). Quando você emite um comando do SaltStack Config (como um trabalho), esse comando segue para o mestre Salt para distribuição aos subordinados direcionados.
O SaltStack Config pode se conectar a um ou vários mestres Salt, conforme necessário no seu sistema. Para que o SaltStack Config se comunique com um mestre Salt, este deve ter o Master Plugin instalado e sua chave deve ser aceita no SaltStack Config. O Master Plugin permite que o mestre Salt acesse trabalhos ou processos iniciados pelo SaltStack Config, bem como arquivos externos e dados de pilares armazenados no banco de dados PostgreSQL.
O plug-in integra-se aos pontos de extensão existentes fornecidos pelo Salt. Por exemplo, retornos de trabalho são coletados usando um cache de trabalho externo Salt no lado do mestre Salt, e o servidor de arquivos RaaS usa um plug-in de servidor de arquivos Salt.
RaaS
RaaS, que significa "Returner as a Service", é o componente central do SaltStack Config. De fato, quando algumas pessoas se referem ao próprio SaltStack 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 SaltStack 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 SaltStack Config
A interface de usuário do SaltStack Config é um aplicativo Web que fornece o front-end de interface gráfica de usuário para o RaaS. Embora o SaltStack 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.
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 pilar, contas de usuário locais, bem como configurações adicionais da interface de 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.